diff --git a/LANG_www/agc_es/vdc_db_query.php b/LANG_www/agc_es/vdc_db_query.php index a9b21ea7..1d029676 100644 --- a/LANG_www/agc_es/vdc_db_query.php +++ b/LANG_www/agc_es/vdc_db_query.php @@ -5078,7 +5078,7 @@ if ($ACTION == 'updateDISPO') } } } - $stmt="UPDATE vicidial_agent_log set dispo_sec='$dispo_sec',status='$dispo_choice' $dispo_epochSQL $lead_id_commentsSQL where agent_log_id='$agent_log_id';"; + $stmt="UPDATE vicidial_agent_log set dispo_sec='$dispo_sec',status='$dispo_choice',uniqueid='$uniqueid' $dispo_epochSQL $lead_id_commentsSQL 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,'00151',$user,$server_ip,$session_name,$one_mysql_log);} diff --git a/LANG_www/agc_es/vicidial.php b/LANG_www/agc_es/vicidial.php index 588193fe..b18cca0d 100644 --- a/LANG_www/agc_es/vicidial.php +++ b/LANG_www/agc_es/vicidial.php @@ -282,10 +282,11 @@ # 100302-2145 - Added scheduled callbacks alert feature # 100306-0852 - Added options.php optional file for setting interface options that will survive upgrade # 100309-0525 - Added queuemetrics_loginout option +# 100313-0053 - Added display options for transfer/conf buttons # -$version = '2.4-260'; -$build = '100309-0525'; +$version = '2.4-261'; +$build = '100313-0053'; $mel=1; # Mysql Error Log enabled = 1 $mysql_log_count=64; $one_mysql_log=0; @@ -886,7 +887,7 @@ else $AgentAlert_allowed = $VU_allow_alerts; ### Gather timeclock and shift enforcement restriction settings - $stmt="SELECT forced_timeclock_login,shift_enforcement,group_shifts,agent_status_viewable_groups,agent_status_view_time,agent_call_log_view from vicidial_user_groups where user_group='$VU_user_group';"; + $stmt="SELECT forced_timeclock_login,shift_enforcement,group_shifts,agent_status_viewable_groups,agent_status_view_time,agent_call_log_view,agent_xfer_consultative,agent_xfer_dial_override,agent_xfer_vm_transfer,agent_xfer_blind_transfer,agent_xfer_dial_with_customer,agent_xfer_park_customer_dial from vicidial_user_groups where user_group='$VU_user_group';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01052',$VD_login,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); @@ -907,6 +908,18 @@ else {$agent_status_view_time=1;} if ($row[5] == 'Y') {$agent_call_log_view=1;} + if ($row[6] == 'Y') + {$agent_xfer_consultative=1;} + if ($row[7] == 'Y') + {$agent_xfer_dial_override=1;} + if ($row[8] == 'Y') + {$agent_xfer_vm_transfer=1;} + if ($row[9] == 'Y') + {$agent_xfer_blind_transfer=1;} + if ($row[10] == 'Y') + {$agent_xfer_dial_with_customer=1;} + if ($row[11] == 'Y') + {$agent_xfer_park_customer_dial=1;} if ($VU_agent_call_log_view_override == 'Y') {$agent_call_log_view=1;} if ($VU_agent_call_log_view_override == 'N') @@ -2838,6 +2851,12 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var agent_call_log_view=''; var scheduled_callbacks_alert=''; var last_uniqueid=''; + var agent_xfer_consultative=''; + var agent_xfer_dial_override=''; + var agent_xfer_vm_transfer=''; + var agent_xfer_blind_transfer=''; + var agent_xfer_dial_with_customer=''; + var agent_xfer_park_customer_dial=''; var DiaLControl_auto_HTML = "\"\"Comienzo\""; var DiaLControl_auto_HTML_ready = "\"\"Comienzo\""; var DiaLControl_auto_HTML_OFF = "\"\"Comienzo\""; @@ -4105,7 +4124,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} if (XFRDop == "NeWSessioN") { threeway_end=1; - document.vicidial_form.callchannel.value = ''; + document.getElementById("callchannel").innerHTML = ''; document.vicidial_form.callserverip.value = ''; dialedcall_send_hangup(); @@ -4168,7 +4187,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} if ( (taskvar == 'XfeRLOCAL') || (taskvar == 'XfeRBLIND') || (taskvar == 'XfeRVMAIL') ) { if (auto_dial_level == 0) {RedirecTxFEr = 1;} - document.vicidial_form.callchannel.value = ''; + 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); @@ -4779,7 +4798,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} document.vicidial_form.uniqueid.value = MDlookResponse_array[0]; last_uniqueid = MDlookResponse_array[0]; - document.vicidial_form.callchannel.value = MDlookResponse_array[1]; + document.getElementById("callchannel").innerHTML = MDlookResponse_array[1]; lastcustchannel = MDlookResponse_array[1]; if( document.images ) { document.images['livecall'].src = image_livecall_ON.src;} document.vicidial_form.SecondS.value = 0; @@ -6322,7 +6341,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} else { // alert("Channel has changed from:\n" + lastcustchannel + '|' + lastcustserverip + "\nto:\n" + reVDIC_data_VDAC[3] + '|' + reVDIC_data_VDAC[4]); - document.vicidial_form.callchannel.value = reVDIC_data_VDAC[3]; + document.getElementById("callchannel").innerHTML = reVDIC_data_VDAC[3]; lastcustchannel = reVDIC_data_VDAC[3]; document.vicidial_form.callserverip.value = reVDIC_data_VDAC[4]; lastcustserverip = reVDIC_data_VDAC[4]; @@ -6558,7 +6577,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} last_uniqueid = VDIC_data_VDAC[1]; CIDcheck = VDIC_data_VDAC[2]; CalLCID = VDIC_data_VDAC[2]; - document.vicidial_form.callchannel.value = VDIC_data_VDAC[3]; + 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]; @@ -7403,7 +7422,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} function DispoHanguPAgaiN() { form_cust_channel = AgaiNHanguPChanneL; - document.vicidial_form.callchannel.value = AgaiNHanguPChanneL; + document.getElementById("callchannel").innerHTML = AgaiNHanguPChanneL; document.vicidial_form.callserverip.value = AgaiNHanguPServeR; lastcustchannel = AgaiNHanguPChanneL; lastcustserverip = AgaiNHanguPServeR; @@ -7455,7 +7474,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} {var group = VDCL_group_id;} else {var group = campaign;} - var form_cust_channel = document.vicidial_form.callchannel.value; + var form_cust_channel = document.getElementById("callchannel").innerHTML; var form_cust_serverip = document.vicidial_form.callserverip.value; var customer_channel = lastcustchannel; var customer_server_ip = lastcustserverip; @@ -7570,7 +7589,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} } // DEACTIVATE CHANNEL-DEPENDANT BUTTONS AND VARIABLES - document.vicidial_form.callchannel.value = ''; + document.getElementById("callchannel").innerHTML = ''; document.vicidial_form.callserverip.value = ''; lastcustchannel=''; lastcustserverip=''; @@ -7599,7 +7618,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} document.getElementById("ReQueueCall").innerHTML = "\"Re-Queue"; } - document.vicidial_form.custdatetime.value = ''; + document.getElementById("custdatetime").innerHTML = '                     '; if ( (auto_dial_level == 0) && (dial_method != 'INBOUND_MAN') ) { @@ -8009,7 +8028,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} { leaving_threeway=0; blind_transfer=0; - document.vicidial_form.callchannel.value = ''; + document.getElementById("callchannel").innerHTML = ''; document.vicidial_form.callserverip.value = ''; document.vicidial_form.xferchannel.value = ''; document.getElementById("DialWithCustomer").innerHTML ="\"Marcar"; @@ -8051,7 +8070,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} leaving_threeway=0; blind_transfer=0; CheckDEADcallON=0; - document.vicidial_form.callchannel.value = ''; + document.getElementById("callchannel").innerHTML = ''; document.vicidial_form.callserverip.value = ''; document.vicidial_form.xferchannel.value = ''; document.getElementById("DialWithCustomer").innerHTML ="\"Marcar"; @@ -8346,7 +8365,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} { showDiv('CustomerGoneBox'); - document.vicidial_form.callchannel.value = ''; + document.getElementById("callchannel").innerHTML = ''; document.vicidial_form.callserverip.value = ''; document.getElementById("CustomerGoneChanneL").innerHTML = lastcustchannel; if( document.images ) { document.images['livecall'].src = image_livecall_OFF.src;} @@ -10074,7 +10093,18 @@ else {document.getElementById("AgentViewLink").innerHTML = "";} if (dispo_check_all_pause == '1') {document.vicidial_form.DispoSelectStop.checked=true;} - + if (agent_xfer_consultative < 1) + {hideDiv('consultative_checkbox');} + if (agent_xfer_dial_override < 1) + {hideDiv('dialoverride_checkbox');} + if (agent_xfer_vm_transfer < 1) + {hideDiv('DialBlindVMail');} + if (agent_xfer_blind_transfer < 1) + {hideDiv('DialBlindTransfer');} + if (agent_xfer_dial_with_customer < 1) + {hideDiv('DialWithCustomer');} + if (agent_xfer_park_customer_dial < 1) + {hideDiv('ParkCustomerDial');} document.vicidial_form.LeadLookuP.checked=true; if ( (agent_pause_codes_active=='Y') || (agent_pause_codes_active=='FORCE') ) @@ -10498,8 +10528,7 @@ else } var customer_local_time = customer_date + " " + customer_time; - document.vicidial_form.custdatetime.value = customer_local_time; - + document.getElementById("custdatetime").innerHTML = customer_local_time; } start_all_refresh(); } @@ -10956,7 +10985,7 @@ $zi=1; - + @@ -11184,12 +11213,12 @@ if ($agent_display_dialable_leads > 0)
  Customer Time:   Canal:   Customer Time:                         Canal:
Información Del Cliente:
- seconds + seconds   - channel + channel - CONSULTIVO   + CONSULTIVO   Colgar Ambas Líneas @@ -11205,7 +11234,7 @@ if ($agent_display_dialable_leads > 0) - INVALIDACIÓN DEL MARCADO + INVALIDACIÓN DEL MARCADO ABANDONAR LLAMADA 3-WAY diff --git a/UPGRADE b/UPGRADE index 1e2d86c6..bdb3ff8d 100644 --- a/UPGRADE +++ b/UPGRADE @@ -83,6 +83,9 @@ OTHER CHANGES: In-Group by a customer with minute balances and a basic admin interface. See the CALLCARD.txt doc for more information. +18. Added display options for agent screen Transfer-conf buttons in the User + Group modification screen. + diff --git a/docs/CALLCARD.txt b/docs/CALLCARD.txt index c9a27179..7f6f2599 100644 --- a/docs/CALLCARD.txt +++ b/docs/CALLCARD.txt @@ -13,10 +13,14 @@ As of the 2.4 version we have added an optional callcard system to allow calls f -Script involved in call card feature: +AGI Script involved in call card feature: - agi-CALLCARD_dial_in.agi +Web scripts involved: +- callcard_admin.php +- callcard_export_report.php + For the calls to be properly logged, use these settings(or add to existing URLs) in the in-group that is handling these calls: - Start Call URL: "&minuteswarning=1&callcard=1" diff --git a/extras/MySQL_AST_CREATE_tables.sql b/extras/MySQL_AST_CREATE_tables.sql index 8b52f6ed..54ad446b 100644 --- a/extras/MySQL_AST_CREATE_tables.sql +++ b/extras/MySQL_AST_CREATE_tables.sql @@ -571,7 +571,13 @@ forced_timeclock_login ENUM('Y','N','ADMIN_EXEMPT') default 'N', shift_enforcement ENUM('OFF','START','ALL') default 'OFF', agent_status_viewable_groups TEXT, agent_status_view_time ENUM('Y','N') default 'N', -agent_call_log_view ENUM('Y','N') default 'N' +agent_call_log_view ENUM('Y','N') default 'N', +agent_xfer_consultative ENUM('Y','N') default 'Y', +agent_xfer_dial_override ENUM('Y','N') default 'Y', +agent_xfer_vm_transfer ENUM('Y','N') default 'Y', +agent_xfer_blind_transfer ENUM('Y','N') default 'Y', +agent_xfer_dial_with_customer ENUM('Y','N') default 'Y', +agent_xfer_park_customer_dial ENUM('Y','N') default 'Y' ); CREATE TABLE vicidial_campaigns ( @@ -963,6 +969,7 @@ sub_status VARCHAR(6), dead_epoch INT(10) UNSIGNED, dead_sec SMALLINT(5) UNSIGNED default '0', processed ENUM('Y','N') default 'N', +uniqueid VARCHAR(20) default '', index (lead_id), index (user), index (event_time) @@ -2131,7 +2138,7 @@ ALTER TABLE vicidial_agent_log_archive MODIFY agent_log_id INT(9) UNSIGNED NOT N CREATE TABLE vicidial_carrier_log_archive LIKE vicidial_carrier_log; -UPDATE system_settings SET db_schema_version='1206',db_schema_update_date=NOW(); +UPDATE system_settings SET db_schema_version='1207',db_schema_update_date=NOW(); GRANT RELOAD ON *.* TO cron@'%'; GRANT RELOAD ON *.* TO cron@localhost; diff --git a/extras/upgrade_2.4.sql b/extras/upgrade_2.4.sql index 99dff187..dd2e0d94 100644 --- a/extras/upgrade_2.4.sql +++ b/extras/upgrade_2.4.sql @@ -157,3 +157,15 @@ ALTER TABLE system_settings ADD callcard_enabled ENUM('1','0') default '0'; ALTER TABLE vicidial_users ADD callcard_admin ENUM('1','0') default '0'; UPDATE system_settings SET db_schema_version='1206',db_schema_update_date=NOW(); + +ALTER TABLE vicidial_user_groups ADD agent_xfer_consultative ENUM('Y','N') default 'Y'; +ALTER TABLE vicidial_user_groups ADD agent_xfer_dial_override ENUM('Y','N') default 'Y'; +ALTER TABLE vicidial_user_groups ADD agent_xfer_vm_transfer ENUM('Y','N') default 'Y'; +ALTER TABLE vicidial_user_groups ADD agent_xfer_blind_transfer ENUM('Y','N') default 'Y'; +ALTER TABLE vicidial_user_groups ADD agent_xfer_dial_with_customer ENUM('Y','N') default 'Y'; +ALTER TABLE vicidial_user_groups ADD agent_xfer_park_customer_dial ENUM('Y','N') default 'Y'; + +ALTER TABLE vicidial_agent_log ADD uniqueid VARCHAR(20) default ''; +ALTER TABLE vicidial_agent_log_archive ADD uniqueid VARCHAR(20) default ''; + +UPDATE system_settings SET db_schema_version='1207',db_schema_update_date=NOW(); diff --git a/translations/raw_translation_files/TO_BE_TRANSLATED_2.4.txt b/translations/raw_translation_files/TO_BE_TRANSLATED_2.4.txt index 531c0e72..0fdc1625 100644 --- a/translations/raw_translation_files/TO_BE_TRANSLATED_2.4.txt +++ b/translations/raw_translation_files/TO_BE_TRANSLATED_2.4.txt @@ -43,6 +43,14 @@ This option affects how vicidial will log the logins and logouts of an agent in Enable CallCard|| This setting enables the CallCard features with ViciDial to allow for callers to use pin numbers and card_ids that have a balance of minutes and those balances can have agent talk time on customer calls to in-groups deducted. Default is 0 for disabled|| CallCard Access|| +Agent Transfer Options|| +These options allow for the disabling of specific buttons in the Transfer Conference section of the Agent interface. Default is Y for yes or enabled|| +Agent Allow Park Customer Dial Xfer|| +Agent Allow Dial With Customer Xfer|| +Agent Allow Blind Xfer|| +Agent Allow Voicemail Message Xfer|| +Agent Allow Dial Override Xfer|| +Agent Allow Consultative Xfer|| ############################################################ CLIENT diff --git a/www/agc/vdc_db_query.php b/www/agc/vdc_db_query.php index f21535cc..0490dd17 100644 --- a/www/agc/vdc_db_query.php +++ b/www/agc/vdc_db_query.php @@ -5078,7 +5078,7 @@ if ($ACTION == 'updateDISPO') } } } - $stmt="UPDATE vicidial_agent_log set dispo_sec='$dispo_sec',status='$dispo_choice' $dispo_epochSQL $lead_id_commentsSQL where agent_log_id='$agent_log_id';"; + $stmt="UPDATE vicidial_agent_log set dispo_sec='$dispo_sec',status='$dispo_choice',uniqueid='$uniqueid' $dispo_epochSQL $lead_id_commentsSQL 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,'00151',$user,$server_ip,$session_name,$one_mysql_log);} diff --git a/www/agc/vicidial.php b/www/agc/vicidial.php index 585e25d8..c01faca6 100644 --- a/www/agc/vicidial.php +++ b/www/agc/vicidial.php @@ -282,10 +282,11 @@ # 100302-2145 - Added scheduled callbacks alert feature # 100306-0852 - Added options.php optional file for setting interface options that will survive upgrade # 100309-0525 - Added queuemetrics_loginout option +# 100313-0053 - Added display options for transfer/conf buttons # -$version = '2.4-260'; -$build = '100309-0525'; +$version = '2.4-261'; +$build = '100313-0053'; $mel=1; # Mysql Error Log enabled = 1 $mysql_log_count=64; $one_mysql_log=0; @@ -886,7 +887,7 @@ else $AgentAlert_allowed = $VU_allow_alerts; ### Gather timeclock and shift enforcement restriction settings - $stmt="SELECT forced_timeclock_login,shift_enforcement,group_shifts,agent_status_viewable_groups,agent_status_view_time,agent_call_log_view from vicidial_user_groups where user_group='$VU_user_group';"; + $stmt="SELECT forced_timeclock_login,shift_enforcement,group_shifts,agent_status_viewable_groups,agent_status_view_time,agent_call_log_view,agent_xfer_consultative,agent_xfer_dial_override,agent_xfer_vm_transfer,agent_xfer_blind_transfer,agent_xfer_dial_with_customer,agent_xfer_park_customer_dial from vicidial_user_groups where user_group='$VU_user_group';"; $rslt=mysql_query($stmt, $link); if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01052',$VD_login,$server_ip,$session_name,$one_mysql_log);} $row=mysql_fetch_row($rslt); @@ -907,6 +908,18 @@ else {$agent_status_view_time=1;} if ($row[5] == 'Y') {$agent_call_log_view=1;} + if ($row[6] == 'Y') + {$agent_xfer_consultative=1;} + if ($row[7] == 'Y') + {$agent_xfer_dial_override=1;} + if ($row[8] == 'Y') + {$agent_xfer_vm_transfer=1;} + if ($row[9] == 'Y') + {$agent_xfer_blind_transfer=1;} + if ($row[10] == 'Y') + {$agent_xfer_dial_with_customer=1;} + if ($row[11] == 'Y') + {$agent_xfer_park_customer_dial=1;} if ($VU_agent_call_log_view_override == 'Y') {$agent_call_log_view=1;} if ($VU_agent_call_log_view_override == 'N') @@ -2838,6 +2851,12 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} var agent_call_log_view=''; var scheduled_callbacks_alert=''; var last_uniqueid=''; + var agent_xfer_consultative=''; + var agent_xfer_dial_override=''; + var agent_xfer_vm_transfer=''; + var agent_xfer_blind_transfer=''; + var agent_xfer_dial_with_customer=''; + var agent_xfer_park_customer_dial=''; var DiaLControl_auto_HTML = "\"\"Resume\""; var DiaLControl_auto_HTML_ready = "\"\"Resume\""; var DiaLControl_auto_HTML_OFF = "\"\"Resume\""; @@ -4105,7 +4124,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} if (XFRDop == "NeWSessioN") { threeway_end=1; - document.vicidial_form.callchannel.value = ''; + document.getElementById("callchannel").innerHTML = ''; document.vicidial_form.callserverip.value = ''; dialedcall_send_hangup(); @@ -4168,7 +4187,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} if ( (taskvar == 'XfeRLOCAL') || (taskvar == 'XfeRBLIND') || (taskvar == 'XfeRVMAIL') ) { if (auto_dial_level == 0) {RedirecTxFEr = 1;} - document.vicidial_form.callchannel.value = ''; + 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); @@ -4779,7 +4798,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} document.vicidial_form.uniqueid.value = MDlookResponse_array[0]; last_uniqueid = MDlookResponse_array[0]; - document.vicidial_form.callchannel.value = MDlookResponse_array[1]; + document.getElementById("callchannel").innerHTML = MDlookResponse_array[1]; lastcustchannel = MDlookResponse_array[1]; if( document.images ) { document.images['livecall'].src = image_livecall_ON.src;} document.vicidial_form.SecondS.value = 0; @@ -6322,7 +6341,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} else { // alert("Channel has changed from:\n" + lastcustchannel + '|' + lastcustserverip + "\nto:\n" + reVDIC_data_VDAC[3] + '|' + reVDIC_data_VDAC[4]); - document.vicidial_form.callchannel.value = reVDIC_data_VDAC[3]; + document.getElementById("callchannel").innerHTML = reVDIC_data_VDAC[3]; lastcustchannel = reVDIC_data_VDAC[3]; document.vicidial_form.callserverip.value = reVDIC_data_VDAC[4]; lastcustserverip = reVDIC_data_VDAC[4]; @@ -6558,7 +6577,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} last_uniqueid = VDIC_data_VDAC[1]; CIDcheck = VDIC_data_VDAC[2]; CalLCID = VDIC_data_VDAC[2]; - document.vicidial_form.callchannel.value = VDIC_data_VDAC[3]; + 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]; @@ -7403,7 +7422,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} function DispoHanguPAgaiN() { form_cust_channel = AgaiNHanguPChanneL; - document.vicidial_form.callchannel.value = AgaiNHanguPChanneL; + document.getElementById("callchannel").innerHTML = AgaiNHanguPChanneL; document.vicidial_form.callserverip.value = AgaiNHanguPServeR; lastcustchannel = AgaiNHanguPChanneL; lastcustserverip = AgaiNHanguPServeR; @@ -7455,7 +7474,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} {var group = VDCL_group_id;} else {var group = campaign;} - var form_cust_channel = document.vicidial_form.callchannel.value; + var form_cust_channel = document.getElementById("callchannel").innerHTML; var form_cust_serverip = document.vicidial_form.callserverip.value; var customer_channel = lastcustchannel; var customer_server_ip = lastcustserverip; @@ -7570,7 +7589,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} } // DEACTIVATE CHANNEL-DEPENDANT BUTTONS AND VARIABLES - document.vicidial_form.callchannel.value = ''; + document.getElementById("callchannel").innerHTML = ''; document.vicidial_form.callserverip.value = ''; lastcustchannel=''; lastcustserverip=''; @@ -7599,7 +7618,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} document.getElementById("ReQueueCall").innerHTML = "\"Re-Queue"; } - document.vicidial_form.custdatetime.value = ''; + document.getElementById("custdatetime").innerHTML = '                     '; if ( (auto_dial_level == 0) && (dial_method != 'INBOUND_MAN') ) { @@ -8009,7 +8028,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} { leaving_threeway=0; blind_transfer=0; - document.vicidial_form.callchannel.value = ''; + document.getElementById("callchannel").innerHTML = ''; document.vicidial_form.callserverip.value = ''; document.vicidial_form.xferchannel.value = ''; document.getElementById("DialWithCustomer").innerHTML ="\"Dial"; @@ -8051,7 +8070,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} leaving_threeway=0; blind_transfer=0; CheckDEADcallON=0; - document.vicidial_form.callchannel.value = ''; + document.getElementById("callchannel").innerHTML = ''; document.vicidial_form.callserverip.value = ''; document.vicidial_form.xferchannel.value = ''; document.getElementById("DialWithCustomer").innerHTML ="\"Dial"; @@ -8346,7 +8365,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";} { showDiv('CustomerGoneBox'); - document.vicidial_form.callchannel.value = ''; + document.getElementById("callchannel").innerHTML = ''; document.vicidial_form.callserverip.value = ''; document.getElementById("CustomerGoneChanneL").innerHTML = lastcustchannel; if( document.images ) { document.images['livecall'].src = image_livecall_OFF.src;} @@ -10074,7 +10093,18 @@ else {document.getElementById("AgentViewLink").innerHTML = "";} if (dispo_check_all_pause == '1') {document.vicidial_form.DispoSelectStop.checked=true;} - + if (agent_xfer_consultative < 1) + {hideDiv('consultative_checkbox');} + if (agent_xfer_dial_override < 1) + {hideDiv('dialoverride_checkbox');} + if (agent_xfer_vm_transfer < 1) + {hideDiv('DialBlindVMail');} + if (agent_xfer_blind_transfer < 1) + {hideDiv('DialBlindTransfer');} + if (agent_xfer_dial_with_customer < 1) + {hideDiv('DialWithCustomer');} + if (agent_xfer_park_customer_dial < 1) + {hideDiv('ParkCustomerDial');} document.vicidial_form.LeadLookuP.checked=true; if ( (agent_pause_codes_active=='Y') || (agent_pause_codes_active=='FORCE') ) @@ -10498,8 +10528,7 @@ else } var customer_local_time = customer_date + " " + customer_time; - document.vicidial_form.custdatetime.value = customer_local_time; - + document.getElementById("custdatetime").innerHTML = customer_local_time; } start_all_refresh(); } @@ -10956,7 +10985,7 @@ $zi=1; - + @@ -11184,12 +11213,12 @@ if ($agent_display_dialable_leads > 0)
  Customer Time:   Channel:   Customer Time:                         Channel:
Customer Information:
- seconds + seconds   - channel + channel - CONSULTATIVE   + CONSULTATIVE   Hangup Both Lines @@ -11205,7 +11234,7 @@ if ($agent_display_dialable_leads > 0) - DIAL OVERRIDE + DIAL OVERRIDE LEAVE 3-WAY CALL diff --git a/www/vicidial/admin.php b/www/vicidial/admin.php index 87411da3..40320374 100644 --- a/www/vicidial/admin.php +++ b/www/vicidial/admin.php @@ -1199,6 +1199,18 @@ if (isset($_GET["callcard_enabled"])) {$callcard_enabled=$_GET["callcard_enab elseif (isset($_POST["callcard_enabled"])) {$callcard_enabled=$_POST["callcard_enabled"];} if (isset($_GET["callcard_admin"])) {$callcard_admin=$_GET["callcard_admin"];} elseif (isset($_POST["callcard_admin"])) {$callcard_admin=$_POST["callcard_admin"];} +if (isset($_GET["agent_xfer_consultative"])) {$agent_xfer_consultative=$_GET["agent_xfer_consultative"];} + elseif (isset($_POST["agent_xfer_consultative"])) {$agent_xfer_consultative=$_POST["agent_xfer_consultative"];} +if (isset($_GET["agent_xfer_dial_override"])) {$agent_xfer_dial_override=$_GET["agent_xfer_dial_override"];} + elseif (isset($_POST["agent_xfer_dial_override"])) {$agent_xfer_dial_override=$_POST["agent_xfer_dial_override"];} +if (isset($_GET["agent_xfer_vm_transfer"])) {$agent_xfer_vm_transfer=$_GET["agent_xfer_vm_transfer"];} + elseif (isset($_POST["agent_xfer_vm_transfer"])) {$agent_xfer_vm_transfer=$_POST["agent_xfer_vm_transfer"];} +if (isset($_GET["agent_xfer_blind_transfer"])) {$agent_xfer_blind_transfer=$_GET["agent_xfer_blind_transfer"];} + elseif (isset($_POST["agent_xfer_blind_transfer"])) {$agent_xfer_blind_transfer=$_POST["agent_xfer_blind_transfer"];} +if (isset($_GET["agent_xfer_dial_with_customer"])) {$agent_xfer_dial_with_customer=$_GET["agent_xfer_dial_with_customer"];} + elseif (isset($_POST["agent_xfer_dial_with_customer"])) {$agent_xfer_dial_with_customer=$_POST["agent_xfer_dial_with_customer"];} +if (isset($_GET["agent_xfer_park_customer_dial"])) {$agent_xfer_park_customer_dial=$_GET["agent_xfer_park_customer_dial"];} + elseif (isset($_POST["agent_xfer_park_customer_dial"])) {$agent_xfer_park_customer_dial=$_POST["agent_xfer_park_customer_dial"];} if (isset($script_id)) {$script_id= strtoupper($script_id);} @@ -1475,6 +1487,12 @@ if ($non_latin < 1) $is_webphone = ereg_replace("[^NY]","",$is_webphone); $use_external_server_ip = ereg_replace("[^NY]","",$use_external_server_ip); $use_custom_cid = ereg_replace("[^NY]","",$use_custom_cid); + $agent_xfer_consultative = ereg_replace("[^NY]","",$agent_xfer_consultative); + $agent_xfer_dial_override = ereg_replace("[^NY]","",$agent_xfer_dial_override); + $agent_xfer_vm_transfer = ereg_replace("[^NY]","",$agent_xfer_vm_transfer); + $agent_xfer_blind_transfer = ereg_replace("[^NY]","",$agent_xfer_blind_transfer); + $agent_xfer_dial_with_customer = ereg_replace("[^NY]","",$agent_xfer_dial_with_customer); + $agent_xfer_park_customer_dial = ereg_replace("[^NY]","",$agent_xfer_park_customer_dial); $qc_enabled = ereg_replace("[^0-9NY]","",$qc_enabled); $active = ereg_replace("[^0-9NY]","",$active); @@ -2105,11 +2123,12 @@ else # 100302-2133 - Added Scheduled Callbacks Alert option # 100309-0510 - Added queuemetrics_loginout option # 100311-2348 - Added CallCard links and settings +# 100313-0020 - Added User Group agent screen transfer-conf button display options # # 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-244'; -$build = '100311-2348'; +$admin_version = '2.4-245'; +$build = '100313-0020'; $STARTtime = date("U"); $SQLdate = date("Y-m-d H:i:s"); @@ -4877,6 +4896,11 @@ if ($ADD==99999)
Agent Call Log View - This option defines whether the agent will be able to see their call log for calls handled through the ViciDial agent screen. Default is N for no or disabled. +
+ +
+ Agent Transfer Options - These options allow for the disabling of specific buttons in the Transfer Conference section of the Agent interface. Default is Y for yes or enabled. + 0) { @@ -12611,7 +12635,7 @@ if ($ADD==411111) $p++; } - $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' where user_group='$OLDuser_group';"; + $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' where user_group='$OLDuser_group';"; $rslt=mysql_query($stmt, $link); echo "
USER GROUP MODIFIED\n"; @@ -20648,17 +20672,23 @@ if ($ADD==311111) echo "\n"; + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + if ($SSqc_features_active > 0) { echo "> + > 1) and (strlen($admin_hh) > 1) ) { ?> diff --git a/www/vicidial/callcard_admin.php b/www/vicidial/callcard_admin.php index 71d47869..9d961db7 100644 --- a/www/vicidial/callcard_admin.php +++ b/www/vicidial/callcard_admin.php @@ -129,50 +129,6 @@ if (strlen($action) < 1) - - - -### BEGIN change territory owner for one account -if ( ($action == "CHANGE_TERRITORY_OWNER_ACCOUNT") and ($enable_vtiger_integration > 0) ) - { - echo "\n"; - echo "
\n"; echo ""; - $stmt="SELECT user_group,group_name,allowed_campaigns,qc_allowed_campaigns,qc_allowed_inbound_groups,group_shifts,forced_timeclock_login,shift_enforcement,agent_status_viewable_groups,agent_status_view_time,agent_call_log_view from vicidial_user_groups where user_group='$user_group';"; + $stmt="SELECT user_group,group_name,allowed_campaigns,qc_allowed_campaigns,qc_allowed_inbound_groups,group_shifts,forced_timeclock_login,shift_enforcement,agent_status_viewable_groups,agent_status_view_time,agent_call_log_view,agent_xfer_consultative,agent_xfer_dial_override,agent_xfer_vm_transfer,agent_xfer_blind_transfer,agent_xfer_dial_with_customer,agent_xfer_park_customer_dial from vicidial_user_groups where user_group='$user_group';"; $rslt=mysql_query($stmt, $link); $row=mysql_fetch_row($rslt); - $user_group = $row[0]; - $group_name = $row[1]; - $GROUP_shifts = $row[5]; - $forced_timeclock_login = $row[6]; - $shift_enforcement = $row[7]; - $VGROUP_vgroups = $row[8]; - $agent_status_view_time = $row[9]; - $agent_call_log_view = $row[10]; + $user_group = $row[0]; + $group_name = $row[1]; + $GROUP_shifts = $row[5]; + $forced_timeclock_login = $row[6]; + $shift_enforcement = $row[7]; + $VGROUP_vgroups = $row[8]; + $agent_status_view_time = $row[9]; + $agent_call_log_view = $row[10]; + $agent_xfer_consultative = $row[11]; + $agent_xfer_dial_override = $row[12]; + $agent_xfer_vm_transfer = $row[13]; + $agent_xfer_blind_transfer = $row[14]; + $agent_xfer_dial_with_customer = $row[15]; + $agent_xfer_park_customer_dial = $row[16]; echo ""; @@ -20746,6 +20776,18 @@ if ($ADD==311111) echo "
Agent Call Log View: $NWB#vicidial_user_groups-agent_call_log_view$NWE
Agent Allow Consultative Xfer: $NWB#vicidial_user_groups-agent_xfer_options$NWE
Agent Allow Dial Override Xfer: $NWB#vicidial_user_groups-agent_xfer_options$NWE
Agent Allow Voicemail Message Xfer: $NWB#vicidial_user_groups-agent_xfer_options$NWE
Agent Allow Blind Xfer: $NWB#vicidial_user_groups-agent_xfer_options$NWE
Agent Allow Dial With Customer Xfer: $NWB#vicidial_user_groups-agent_xfer_options$NWE
Agent Allow Park Customer Dial Xfer: $NWB#vicidial_user_groups-agent_xfer_options$NWE
QC Allowed Campaigns:
$NWB#vicidial_user_groups-qc_allowed_campaigns$NWE
\n"; diff --git a/www/vicidial/admin_header.php b/www/vicidial/admin_header.php index 1a00b5b7..0fcf5b4e 100644 --- a/www/vicidial/admin_header.php +++ b/www/vicidial/admin_header.php @@ -1264,7 +1264,7 @@ $SScallcard_enabled = $row[2]; 1) and (strlen($admin_hh) > 1) ) { ?> -
  > CallCard Summary   |   > CallCard Batches   |   > CallCard Search
  > CallCard Summary   |   > CallCard Batches   |   > CallCard Search   |   > CallCard Log Export
\n"; - echo ""; - - echo "
Vtiger Change Territory Owner
\n"; - echo "\n"; - echo "
\n"; - echo "\n"; - echo "\n"; - - echo "\n"; - - echo "\n"; - echo "
Account ID:
New Owner:
Update ViciDial List Owner:
\n"; - exit; - } -### END change territory owner for one account - - - ##### BEGIN Set variables to make header show properly ##### $ADD = '0'; $hh = 'admin'; @@ -194,7 +150,7 @@ $cc_font = 'BLACK'; $cc_color = '#C6C6C6'; $subcamp_color = '#C6C6C6'; ##### END Set variables to make header show properly ##### -; + require("admin_header.php"); $colspan='3'; @@ -230,194 +186,6 @@ $pulldate0 = "$year-$mon-$mday $hour:$min:$sec"; - - -### BEGIN change territory owner in the system -if ( ($action == "CHANGE_TERRITORY_OWNER") and ($enable_vtiger_integration > 0) ) - { - echo "
\n"; - echo ""; - - echo "
Vtiger Change Territory Owner\n"; - echo "\n"; - echo "
\n"; - echo "\n"; - - echo "\n"; - - echo "\n"; - - echo "\n"; - echo "
Territory:
New Owner:
Update ViciDial List Owner:
\n"; - } -### END change territory owner in the system - - -### BEGIN delete user territory page -if ($action == "DELETE_USER_TERRITORY") - { - if ( (strlen($territory)<1) or (strlen($user)<1) ) - { - echo "ERROR: Territory and User must be filled in
\n"; - } - else - { - $stmt="SELECT count(*) from vicidial_user_territories where territory='$territory' and user='$user';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] < 0) - { - echo "ERROR: this territory user is not in the system
\n"; - } - else - { - $stmt="DELETE from vicidial_user_territories where territory='$territory' and user='$user';"; - $rslt=mysql_query($stmt, $link); - - echo "User Territory Deleted: $user $territory
\n"; - - ### LOG INSERTION Admin Log Table ### - $SQL_log = "$stmt|$stmtB|"; - $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='TERRITORIES', event_type='DELETE', record_id='$territory', event_code='ADMIN DELETE USER TERRITORY', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); - } - } - $action = "MODIFY_TERRITORY"; - } -### END delete user territory page - - - - - - -### BEGIN add territory page -if ($action == "ADD_TERRITORY") - { - echo "
\n"; - echo ""; - - echo "
Add Territory\n"; - echo "\n"; - echo "
\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "
Territory:
Territory Description:
\n"; - } -### END add territory page - - -### BEGIN process add territory page -if ($action == "PROCESS_ADD_TERRITORY") - { - if ( (strlen($territory)<1) or (strlen($territory_description)<1) ) - { - echo "ERROR: Territory and Territory Description must be filled in
\n"; - } - else - { - $stmt="SELECT count(*) from vicidial_territories where territory='$territory';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] > 0) - { - echo "ERROR: there is already a territory in the system with this name
\n"; - } - else - { - $stmt="INSERT INTO vicidial_territories SET territory='$territory',territory_description='$territory_description';"; - $rslt=mysql_query($stmt, $link); - - echo "Territory Added: $territory
\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='$USER', ip_address='$ip', event_section='TERRITORIES', event_type='ADD', record_id='$territory', event_code='ADMIN ADD TERRITORY', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); - } - } - $action = "CALLCARD_SUMMARY"; - } -### END process add territory page - - -### BEGIN delete territory page -if ($action == "DELETE_TERRITORY") - { - if (strlen($territory)<1) - { - echo "ERROR: Territory must be filled in
\n"; - } - else - { - $stmt="SELECT count(*) from vicidial_territories where territory='$territory';"; - $rslt=mysql_query($stmt, $link); - $row=mysql_fetch_row($rslt); - if ($row[0] < 0) - { - echo "ERROR: This territory is not in the system with this name
\n"; - } - else - { - $stmt="DELETE from vicidial_territories where territory='$territory';"; - $rslt=mysql_query($stmt, $link); - - echo "Territory Deleted: $territory
\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='$USER', ip_address='$ip', event_section='TERRITORIES', event_type='DELETE', record_id='$territory', event_code='ADMIN DELETE TERRITORY', event_sql=\"$SQL_log\", event_notes='';"; - if ($DB) {echo "|$stmt|\n";} - $rslt=mysql_query($stmt, $link); - } - } - $action = "CALLCARD_SUMMARY"; - } -### END delete territory page - - ### BEGIN modify card status page if ($action == "CALLCARD_STATUS") { @@ -479,15 +247,13 @@ if ($action == "CALLCARD_STATUS") } $action = "CALLCARD_DETAIL"; } -### END process modify territory page - +### END modify card status page ### BEGIN CallCard record Detail page if ($action == "CALLCARD_DETAIL") { - $stmt="SELECT card_id,run,batch,pack,sequence,status,balance_minutes,initial_value,initial_minutes,note_purchase_order,note_printer,note_did,inbound_group_id,note_language,note_name,note_comments,create_user,activate_user,used_user,void_user,create_time,activate_time,used_time,void_time from callcard_accounts_details where card_id='$card_id';"; $rslt=mysql_query($stmt, $link); $details_to_print = mysql_num_rows($rslt); @@ -621,8 +387,6 @@ if ($action == "CALLCARD_DETAIL") - - ### BEGIN callcard summary if ($action == "CALLCARD_SUMMARY") { @@ -725,6 +489,7 @@ if ($action == "CALLCARD_SUMMARY") ### END callcard summary + ### BEGIN list batches if ($action == "CALLCARD_BATCHES") { @@ -770,7 +535,6 @@ if ($action == "CALLCARD_BATCHES") - ### BEGIN search results if ($action == "SEARCH_RESULTS") { diff --git a/www/vicidial/callcard_report_export.php b/www/vicidial/callcard_report_export.php new file mode 100644 index 00000000..7a1ce829 --- /dev/null +++ b/www/vicidial/callcard_report_export.php @@ -0,0 +1,286 @@ + LICENSE: AGPLv2 +# +# CHANGES +# +# 100312-2127 - First build +# + +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["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["run"])) {$run=$_GET["run"];} + elseif (isset($_POST["run"])) {$run=$_POST["run"];} +if (isset($_GET["batch"])) {$batch=$_GET["batch"];} + elseif (isset($_POST["batch"])) {$batch=$_POST["batch"];} +if (isset($_GET["pack"])) {$pack=$_GET["pack"];} + elseif (isset($_POST["pack"])) {$pack=$_POST["pack"];} +if (isset($_GET["agent"])) {$agent=$_GET["agent"];} + elseif (isset($_POST["agent"])) {$agent=$_POST["agent"];} +if (isset($_GET["did"])) {$did=$_GET["did"];} + elseif (isset($_POST["did"])) {$did=$_POST["did"];} +if (isset($_GET["callerid"])) {$callerid=$_GET["callerid"];} + elseif (isset($_POST["callerid"])) {$callerid=$_POST["callerid"];} +if (isset($_GET["DB"])) {$DB=$_GET["DB"];} + elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];} +if (isset($_GET["run_export"])) {$run_export=$_GET["run_export"];} + elseif (isset($_POST["run_export"])) {$run_export=$_POST["run_export"];} +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 (strlen($shift)<2) {$shift='ALL';} + +############################################# +##### START SYSTEM_SETTINGS LOOKUP ##### +$stmt = "SELECT use_non_latin 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]; + } +##### END SETTINGS LOOKUP ##### +########################################### + +$PHP_AUTH_USER = ereg_replace("[^-_0-9a-zA-Z]","",$PHP_AUTH_USER); +$PHP_AUTH_PW = ereg_replace("[^-_0-9a-zA-Z]","",$PHP_AUTH_PW); + +$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level > 7 and callcard_admin='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($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 or no CallCard permission: |$PHP_AUTH_USER|\n"; + exit; + } + + +##### START RUN THE EXPORT AND OUTPUT FLAT DATA FILE ##### +if ($run_export > 0) + { + $US='_'; + $MT[0]=''; + $ip = getenv("REMOTE_ADDR"); + $NOW_DATE = date("Y-m-d"); + $NOW_TIME = date("Y-m-d H:i:s"); + $FILE_TIME = date("Ymd-His"); + $STARTtime = date("U"); + if (!isset($query_date)) {$query_date = $NOW_DATE;} + if (!isset($end_date)) {$end_date = $NOW_DATE;} + + $inbound_to_print=0; + $export_rows=''; + $k=0; + + if (strlen($card_id) > 1) + {$searchSQL = "and card_id='$card_id'";} + if (strlen($run) > 1) + { + $searchSQL .= "and card_id IN(SELECT card_id from callcard_accounts_details where run='$run')"; + } + if (strlen($batch) > 1) + { + $searchSQL .= "and card_id IN(SELECT card_id from callcard_accounts_details where batch='$batch')"; + } + if (strlen($pack) > 1) + { + $searchSQL .= "and card_id IN(SELECT card_id from callcard_accounts_details where pack='$pack')"; + } + if (strlen($caller_id) > 1) + { + $searchSQL .= "and card_id IN(SELECT card_id from callcard_accounts_details where caller_id='$caller_id')"; + } + if (strlen($agent) > 1) + { + $searchSQL .= "and agent='$agent'"; + } + if (strlen($did) > 1) + { + $searchSQL .= "and inbound_did='$did'"; + } + if (strlen($caller_id) > 1) + { + $searchSQL .= "and phone_number='$caller_id'"; + } + + $stmt = "SELECT call_time,phone_number,inbound_did,balance_minutes_start,agent_talk_min,agent_talk_sec,agent,agent_time,agent_dispo FROM callcard_log where call_time >= \"$query_date 00:00:00\" and call_time <= \"$end_date 23:59:59\" $searchSQL order by call_time;"; + $rslt=mysql_query($stmt, $link); + if ($DB) {echo "$stmt\n";} + $vt_ct = mysql_num_rows($rslt); + $i=0; + while ($vt_ct > $i) + { + $row=mysql_fetch_row($rslt); + + $export_rows[$k] = "$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]"; + $i++; + $k++; + $inbound_to_print++; + } + + + if ($inbound_to_print > 0) + { + ### 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='CALLCARD', event_type='EXPORT', record_id='', event_code='ADMIN EXPORT CALLCARD REPORT', event_sql=\"$SQL_log\", event_notes='';"; + if ($DB) {echo "|$stmt|\n";} + $rslt=mysql_query($stmt, $link); + + $TXTfilename = "EXPORT_CALLCARD_REPORT_$FILE_TIME.txt"; + + // 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=\"$TXTfilename\""); + header('Expires: 0'); + header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); + header('Pragma: public'); + ob_clean(); + flush(); + + $i=0; + while ($k > $i) + { + echo "$export_rows[$i]\r\n"; + $i++; + } + } + else + { + echo "There are no calls during this time period for these parameters\n"; + exit; + } + } +##### END RUN THE EXPORT AND OUTPUT FLAT DATA FILE ##### + + +else + { + $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;} + + echo "\n"; + + echo "\n"; + echo "\n"; + + echo "\n"; + echo "ADMINISTRATION: Export CallCard Calls Report"; + + ##### BEGIN Set variables to make header show properly ##### + $ADD = '0'; + $hh = 'admin'; + $sh = 'cc'; + $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'; + $cc_color = '#FFFF99'; + $cc_font = 'BLACK'; + $cc_color = '#C6C6C6'; + $subcamp_color = '#C6C6C6'; + ##### END Set variables to make header show properly ##### + + require("admin_header.php"); + + + echo "<CENTER><BR>\n"; + echo "<FONT SIZE=3 FACE=\"Arial,Helvetica\"><B>Export CallCard Calls Report</B></FONT><BR><BR>\n"; + echo "<FORM ACTION=\"$PHP_SELF\" METHOD=GET name=vicidial_report id=vicidial_report>\n"; + echo "<INPUT TYPE=HIDDEN NAME=DB VALUE=\"$DB\">"; + echo "<INPUT TYPE=HIDDEN NAME=run_export VALUE=\"1\">"; + echo "<TABLE BORDER=0 CELLSPACING=8><TR><TD ALIGN=LEFT VALIGN=TOP ROWSPAN=3 bgcolor=#B6D3FC>\n"; + + echo "<font class=\"select_bold\"><B>Date Range:</B></font><BR><CENTER>\n"; + echo "<INPUT TYPE=TEXT NAME=query_date SIZE=10 MAXLENGTH=10 VALUE=\"$query_date\">"; + + ?> + <script language="JavaScript"> + var o_cal = new tcal ({ + // form name + 'formname': 'vicidial_report', + // input name + 'controlname': 'query_date' + }); + o_cal.a_tpl.yearscroll = false; + // o_cal.a_tpl.weekstart = 1; // Monday week start + </script> + <?php + + echo "<BR>to<BR>\n"; + echo "<INPUT TYPE=TEXT NAME=end_date SIZE=10 MAXLENGTH=10 VALUE=\"$end_date\">"; + + ?> + <script language="JavaScript"> + var o_cal = new tcal ({ + // form name + 'formname': 'vicidial_report', + // input name + 'controlname': 'end_date' + }); + o_cal.a_tpl.yearscroll = false; + // o_cal.a_tpl.weekstart = 1; // Monday week start + </script> + <?php + + echo "</TD><TD ALIGN=LEFT VALIGN=TOP ROWSPAN=2>\n"; + + + echo "<center><TABLE width=400 cellspacing=3>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Card ID: </td><td align=left><input type=text name=card_id size=20 maxlength=20></td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Agent: </td><td align=left><input type=text name=agent size=20 maxlength=20></td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>DID: </td><td align=left><input type=text name=did size=18 maxlength=18></td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>CallerID: </td><td align=left><input type=text name=callerid size=18 maxlength=18></td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Run: </td><td align=left><input type=text name=run size=5 maxlength=4></td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Batch: </td><td align=left><input type=text name=batch size=6 maxlength=5></td></tr>\n"; + echo "<tr bgcolor=#B6D3FC><td align=right>Sequence: </td><td align=left><input type=text name=sequence size=6 maxlength=5></td></tr>\n"; + + echo "</TABLE></center>\n"; + + + echo "</TD></TR><TR></TD><TD ALIGN=LEFT VALIGN=TOP COLSPAN=3>\n"; + echo "<INPUT TYPE=SUBMIT NAME=SUBMIT VALUE=SUBMIT>\n"; + echo "</TD></TR></TABLE>\n"; + echo "</FORM>\n\n"; + } +exit; + +?> \ No newline at end of file