Added "Add Lead URL" feature to in-groups, it will send a web get out as soon as a lead is created by the inbound process.

Added custom fields export to the ALL-LISTS function of the lists download script

git-svn-id: svn://192.168.202.10@1531 3d104415-ff17-0410-8863-d5cf3c621b8a
This commit is contained in:
mattf
2010-09-30 01:11:02 +00:00
parent 4c14f510d2
commit 42416657ee
10 changed files with 408 additions and 126 deletions
+5
View File
@@ -342,6 +342,11 @@ OTHER CHANGES:
74. Added ability to use Custom List Fields in Web Forms, Scripts and Dispo
Call URL entries used by the agent interface.
75. Added "Add Lead URL" feature to in-groups. Works like Dispo Call URL except
it will send a web get out as soon as a lead is created by the inbound
process. There is a more limited set of variables available for use with
this option, see the admin.php help for more details
+98 -1
View File
@@ -141,6 +141,7 @@
# 100811-0751 - Added calculate_estimated_hold_seconds option
# 100830-1445 - Allow the changing of the queue priority of a call while the call is in queue
# 100903-0041 - Changed lead_id max length to 10 digits
# 100929-1201 - Added add_lead_url feature
#
$script = 'agi-VDAD_ALL_inbound.agi';
@@ -582,7 +583,7 @@ $sthA->finish();
### Grab inbound groups values from the database
$cbc=0;
$stmtA = "SELECT 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,drop_call_seconds,drop_action,drop_exten,next_agent_call,voicemail_ext,queue_priority,drop_inbound_group,afterhours_xfer_group,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,no_agent_no_queue,no_agent_action,no_agent_action_value,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,active,calculate_estimated_hold_seconds FROM vicidial_inbound_groups where group_id = '$channel_group';";
$stmtA = "SELECT 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,drop_call_seconds,drop_action,drop_exten,next_agent_call,voicemail_ext,queue_priority,drop_inbound_group,afterhours_xfer_group,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,no_agent_no_queue,no_agent_action,no_agent_action_value,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,active,calculate_estimated_hold_seconds,add_lead_url FROM vicidial_inbound_groups where group_id = '$channel_group';";
$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr;
$sthA->execute or die "executing: $stmtA ", $dbhA->errstr;
$sthArows=$sthA->rows;
@@ -659,6 +660,7 @@ if ($sthArows > 0)
$wait_time_option_prompt_seconds = $aryA[59];
$ingroup_active = $aryA[60];
$calculate_estimated_hold_seconds = $aryA[61];
$add_lead_url = $aryA[62];
$custom_call_id='';
if ($uniqueid_status_display =~ /ENABLED/)
@@ -757,6 +759,25 @@ if ($call_handle_method =~ /LOOKUP/)
}
$sthA->finish();
### Start the Add-Lead-URL get proccess
if (length($add_lead_url) > 5)
{
$launch = $PATHhome . "/AST_send_URL.pl";
$launch .= " --SYSLOG" if ($SYSLOG);
$launch .= " --lead_id=" . $insert_lead_id;
$launch .= " --phone_number=" . $phone_number;
$launch .= " --user=";
$launch .= " --call_type=IN";
$launch .= " --campaign=" . $channel_group;
$launch .= " --uniqueid=" . $uniqueid;
$launch .= " --alt_dial=";
$launch .= " --function=INGROUP_ADD_LEAD_URL";
system($launch . ' &');
if ($AGILOG) {$agi_string = "$launch|"; &agi_output;}
}
if ($AGILOG) {$agi_string = "VDAD vicidial_list insert |$insert_lead_id|$stmtA|"; &agi_output;}
}
else
@@ -837,6 +858,25 @@ if ($call_handle_method =~ /LOOKUP/)
}
$sthA->finish();
### Start the Add-Lead-URL get proccess
if (length($add_lead_url) > 5)
{
$launch = $PATHhome . "/AST_send_URL.pl";
$launch .= " --SYSLOG" if ($SYSLOG);
$launch .= " --lead_id=" . $insert_lead_id;
$launch .= " --phone_number=" . $phone_number;
$launch .= " --user=";
$launch .= " --call_type=IN";
$launch .= " --campaign=" . $channel_group;
$launch .= " --uniqueid=" . $uniqueid;
$launch .= " --alt_dial=";
$launch .= " --function=INGROUP_ADD_LEAD_URL";
system($launch . ' &');
if ($AGILOG) {$agi_string = "$launch|"; &agi_output;}
}
if ($AGILOG) {$agi_string = "VDAD vicidial_list insert |$insert_lead_id|$stmtA|"; &agi_output;}
}
}
@@ -887,6 +927,25 @@ else
$cbc++;
}
$sthA->finish();
### Start the Add-Lead-URL get proccess
if (length($add_lead_url) > 5)
{
$launch = $PATHhome . "/AST_send_URL.pl";
$launch .= " --SYSLOG" if ($SYSLOG);
$launch .= " --lead_id=" . $insert_lead_id;
$launch .= " --phone_number=" . $phone_number;
$launch .= " --user=";
$launch .= " --call_type=IN";
$launch .= " --campaign=" . $channel_group;
$launch .= " --uniqueid=" . $uniqueid;
$launch .= " --alt_dial=";
$launch .= " --function=INGROUP_ADD_LEAD_URL";
system($launch . ' &');
if ($AGILOG) {$agi_string = "$launch|"; &agi_output;}
}
}
}
@@ -3328,6 +3387,25 @@ while ( ($drop_timer <= $DROP_TIME) && ($wait_in_queue > 0) )
}
$sthA->finish();
### Start the Add-Lead-URL get proccess
if (length($add_lead_url) > 5)
{
$launch = $PATHhome . "/AST_send_URL.pl";
$launch .= " --SYSLOG" if ($SYSLOG);
$launch .= " --lead_id=" . $CALLBACK_insert_lead_id;
$launch .= " --phone_number=" . $phone_number;
$launch .= " --user=";
$launch .= " --call_type=IN";
$launch .= " --campaign=" . $channel_group;
$launch .= " --uniqueid=" . $uniqueid;
$launch .= " --alt_dial=";
$launch .= " --function=INGROUP_ADD_LEAD_URL";
system($launch . ' &');
if ($AGILOG) {$agi_string = "$launch|"; &agi_output;}
}
if ($AGILOG) {$agi_string = "VDAD vicidial_list insert |$CALLBACK_insert_lead_id|$stmtA|"; &agi_output;}
$DROPexten = "8300";
@@ -3715,6 +3793,25 @@ while ( ($drop_timer <= $DROP_TIME) && ($wait_in_queue > 0) )
}
$sthA->finish();
### Start the Add-Lead-URL get proccess
if (length($add_lead_url) > 5)
{
$launch = $PATHhome . "/AST_send_URL.pl";
$launch .= " --SYSLOG" if ($SYSLOG);
$launch .= " --lead_id=" . $CALLBACK_insert_lead_id;
$launch .= " --phone_number=" . $phone_number;
$launch .= " --user=";
$launch .= " --call_type=IN";
$launch .= " --campaign=" . $channel_group;
$launch .= " --uniqueid=" . $uniqueid;
$launch .= " --alt_dial=";
$launch .= " --function=INGROUP_ADD_LEAD_URL";
system($launch . ' &');
if ($AGILOG) {$agi_string = "$launch|"; &agi_output;}
}
if ($AGILOG) {$agi_string = "VDAD vicidial_list insert |$CALLBACK_insert_lead_id|$stmtA|"; &agi_output;}
$DROPexten = "8300";
+2 -1
View File
@@ -341,7 +341,7 @@ while($one_day_interval > 0)
}
$sthA->finish();
### This is where the call to the start_call_url launch will go
### This is where the call to the start_call_url launch goes
if (length($start_call_url) > 5)
{
@@ -354,6 +354,7 @@ while($one_day_interval > 0)
$launch .= " --campaign=" . $QHcampaign_id[$w];
$launch .= " --uniqueid=" . $QHuniqueid[$w];
$launch .= " --alt_dial=" . $QHalt_dial[$w];
$launch .= " --function=REMOTE_AGENT_START_CALL_URL";
system($launch . ' &');
+188 -96
View File
@@ -5,12 +5,13 @@
# DESCRIPTION:
# This script is spawned for remote agents when the Start Call URL is set in the
# campaign or in-group that the call came from when sent to the remote agent.
#
# This script is also used for the Add-Lead-URL feature in In-groups.
#
# Copyright (C) 2010 Matt Florell <vicidial@gmail.com> LICENSE: AGPLv2
#
# CHANGES
# 100622-0929 - First Build
# 100929-0918 - Added function variable and new Add Lead URL function
#
$|++;
@@ -21,7 +22,7 @@ my $secX = time(); #Start time
### Initialize run-time variables ###
my ($CLOhelp, $SYSLOG,$DB, $DBX);
my ($campaign, $lead_id, $phone_number, $call_type, $user, $uniqueid, $alt_dial);
my ($campaign, $lead_id, $phone_number, $call_type, $user, $uniqueid, $alt_dial, $function);
my $FULL_LOG = 1;
### begin parsing run-time options ###
@@ -35,6 +36,7 @@ if (scalar @ARGV) {
'user=s' => \$user,
'uniqueid=s' => \$uniqueid,
'alt_dial=s' => \$alt_dial,
'function=s' => \$function,
'debug!' => \$DB,
'debugX!' => \$DBX,
'fulllog!' => \$FULL_LOG);
@@ -52,6 +54,7 @@ if (scalar @ARGV) {
print " user: $user\n" if ($user);
print " uniqueid: $uniqueid\n" if ($uniqueid);
print " alt_dial: $alt_dial\n" if ($alt_dial);
print " function: $function\n" if ($function);
print "\n";
}
if ($CLOhelp)
@@ -67,6 +70,9 @@ if (scalar @ARGV) {
print " [--user] = remote user that received the call\n";
print " [--uniqueid] = uniqueid of the call\n";
print " [--alt_dial] = label of the phone number dialed\n";
print " [--function] = which function is to be run, default is REMOTE_AGENT_START_CALL_URL\n";
print " *REMOTE_AGENT_START_CALL_URL - performs a Start Call URL get for Remote Agent Calls\n";
print " *INGROUP_ADD_LEAD_URL - performs an Add Lead URL get for In-Groups when a lead is added\n";
print "\n";
print "You may prefix an option with 'no' to disable it.\n";
print " ie. --noSYSLOG or --noFULLLOG\n";
@@ -119,7 +125,7 @@ if (length($lead_id) > 0)
else
{
print "Can't find wget binary! Exiting...\n";
exit
exit;
}
}
}
@@ -148,9 +154,9 @@ if (length($lead_id) > 0)
$sthA->finish();
if ($call_type =~ /IN/)
{$stmtG = "SELECT start_call_url FROM vicidial_inbound_groups where group_id='$campaign';";}
{$stmtG = "SELECT start_call_url,add_lead_url FROM vicidial_inbound_groups where group_id='$campaign';";}
else
{$stmtG = "SELECT start_call_url FROM vicidial_campaigns where campaign_id='$campaign';";}
{$stmtG = "SELECT start_call_url,8 FROM vicidial_campaigns where campaign_id='$campaign';";}
$sthA = $dbhA->prepare($stmtG) or die "preparing: ",$dbhA->errstr;
$sthA->execute or die "executing: $stmtG ", $dbhA->errstr;
$start_url_ct=$sthA->rows;
@@ -158,6 +164,7 @@ if (length($lead_id) > 0)
{
@aryA = $sthA->fetchrow_array;
$start_call_url = $aryA[0];
$add_lead_url = $aryA[1];
}
$sthA->finish();
@@ -170,112 +177,197 @@ if (length($lead_id) > 0)
$VAR_campaign_id = $campaign;
$VAR_group = $campaign;
$VAR_alt_dial = $alt_dial;
$VAR_list_id = '';
$VAR_phone_code = '';
$VAR_vendor_lead_code = '';
$VAR_did_id = '';
$VAR_did_extension = '';
$VAR_did_pattern = '';
$VAR_did_description = '';
$VAR_closecallid = '';
$stmtA = "SELECT lead_id,entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,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 lead_id='$lead_id';";
$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr;
$sthA->execute or die "executing: $stmtA ", $dbhA->errstr;
$sthArows=$sthA->rows;
if ($sthArows > 0)
if ($function=='INGROUP_ADD_LEAD_URL')
{
@aryA = $sthA->fetchrow_array;
$VAR_entry_date = $aryA[1];
$VAR_modify_date = $aryA[2];
$VAR_status = $aryA[3];
$VAR_vendor_lead_code = $aryA[5];
$VAR_source_id = $aryA[6];
$VAR_list_id = $aryA[7];
$VAR_title = $aryA[9];
$VAR_first_name = $aryA[10];
$VAR_middle_initial = $aryA[11];
$VAR_last_name = $aryA[12];
$VAR_address1 = $aryA[13];
$VAR_address2 = $aryA[14];
$VAR_address3 = $aryA[15];
$VAR_city = $aryA[16];
$VAR_state = $aryA[17];
$VAR_province = $aryA[18];
$VAR_postal_code = $aryA[19];
$VAR_country_code = $aryA[20];
$VAR_gender = $aryA[21];
$VAR_date_of_birth = $aryA[22];
$VAR_alt_phone = $aryA[23];
$VAR_email = $aryA[24];
$VAR_security_phrase = $aryA[25];
$VAR_comments = $aryA[26];
$VAR_called_count = $aryA[27];
$VAR_last_local_call_time = $aryA[28];
$VAR_rank = $aryA[29];
$VAR_owner = $aryA[30];
}
$sthA->finish();
if ($start_call_url =~ /--A--user_custom_/)
{
$stmtA = "select custom_one,custom_two,custom_three,custom_four,custom_five from vicidial_users where user='$user';;";
##### BEGIN Add Lead URL function #####
$stmtA = "SELECT list_id,phone_code,vendor_lead_code FROM vicidial_list where lead_id='$lead_id';";
$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr;
$sthA->execute or die "executing: $stmtA ", $dbhA->errstr;
$sthArows=$sthA->rows;
if ($sthArows > 0)
{
@aryA = $sthA->fetchrow_array;
$VAR_user_custom_one = $aryA[0];
$VAR_user_custom_two = $aryA[1];
$VAR_user_custom_three = $aryA[2];
$VAR_user_custom_four = $aryA[3];
$VAR_user_custom_five = $aryA[4];
$VAR_list_id = $aryA[0];
$VAR_phone_code = $aryA[1];
$VAR_vendor_lead_code = $aryA[2];
}
$sthA->finish();
$stmtA = "SELECT did_id,extension FROM vicidial_did_log where uniqueid='$uniqueid';";
$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr;
$sthA->execute or die "executing: $stmtA ", $dbhA->errstr;
$sthArows=$sthA->rows;
if ($sthArows > 0)
{
@aryA = $sthA->fetchrow_array;
$VAR_did_id = $aryA[0];
$VAR_did_extension = $aryA[1];
}
$sthA->finish();
$stmtA = "SELECT did_pattern,did_description FROM vicidial_inbound_dids where did_id='$VAR_did_id';";
$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr;
$sthA->execute or die "executing: $stmtA ", $dbhA->errstr;
$sthArows=$sthA->rows;
if ($sthArows > 0)
{
@aryA = $sthA->fetchrow_array;
$VAR_did_pattern = $aryA[0];
$VAR_did_description = $aryA[1];
}
$sthA->finish();
$stmtA = "SELECT closecallid FROM vicidial_closer_log where uniqueid='$uniqueid' order by closecallid limit 1;";
$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr;
$sthA->execute or die "executing: $stmtA ", $dbhA->errstr;
$sthArows=$sthA->rows;
if ($sthArows > 0)
{
@aryA = $sthA->fetchrow_array;
$VAR_closecallid = $aryA[0];
}
$sthA->finish();
$add_lead_url =~ s/^VAR//gi;
$add_lead_url =~ s/--A--lead_id--B--/$VAR_lead_id/gi;
$add_lead_url =~ s/--A--vendor_id--B--/$VAR_vendor_lead_code/gi;
$add_lead_url =~ s/--A--vendor_lead_code--B--/$VAR_vendor_lead_code/gi;
$add_lead_url =~ s/--A--list_id--B--/$VAR_list_id/gi;
$add_lead_url =~ s/--A--phone_number--B--/$VAR_phone_number/gi;
$add_lead_url =~ s/--A--phone_code--B--/$VAR_phone_code/gi;
$add_lead_url =~ s/--A--did_id--B--/$VAR_did_id/gi;
$add_lead_url =~ s/--A--did_extension--B--/$VAR_did_extension/gi;
$add_lead_url =~ s/--A--did_pattern--B--/$VAR_did_pattern/gi;
$add_lead_url =~ s/--A--did_description--B--/$VAR_did_description/gi;
$add_lead_url =~ s/--A--closecallid--B--/$VAR_closecallid/gi;
$add_lead_url =~ s/--A--uniqueid--B--/$VAR_uniqueid/gi;
$add_lead_url =~ s/ /+/gi;
$add_lead_url =~ s/&/\\&/gi;
`$wgetbin -q --output-document=/tmp/ASUtmp $add_lead_url `;
$event_string="$function|$wgetbin -q --output-document=/tmp/ASUtmp $add_lead_url|";
&event_logger;
##### END Add Lead URL function #####
}
else
{
##### BEGIN Start Call URL function #####
$stmtA = "SELECT lead_id,entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,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 lead_id='$lead_id';";
$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr;
$sthA->execute or die "executing: $stmtA ", $dbhA->errstr;
$sthArows=$sthA->rows;
if ($sthArows > 0)
{
@aryA = $sthA->fetchrow_array;
$VAR_entry_date = $aryA[1];
$VAR_modify_date = $aryA[2];
$VAR_status = $aryA[3];
$VAR_vendor_lead_code = $aryA[5];
$VAR_source_id = $aryA[6];
$VAR_list_id = $aryA[7];
$VAR_title = $aryA[9];
$VAR_first_name = $aryA[10];
$VAR_middle_initial = $aryA[11];
$VAR_last_name = $aryA[12];
$VAR_address1 = $aryA[13];
$VAR_address2 = $aryA[14];
$VAR_address3 = $aryA[15];
$VAR_city = $aryA[16];
$VAR_state = $aryA[17];
$VAR_province = $aryA[18];
$VAR_postal_code = $aryA[19];
$VAR_country_code = $aryA[20];
$VAR_gender = $aryA[21];
$VAR_date_of_birth = $aryA[22];
$VAR_alt_phone = $aryA[23];
$VAR_email = $aryA[24];
$VAR_security_phrase = $aryA[25];
$VAR_comments = $aryA[26];
$VAR_called_count = $aryA[27];
$VAR_last_local_call_time = $aryA[28];
$VAR_rank = $aryA[29];
$VAR_owner = $aryA[30];
}
$sthA->finish();
$start_call_url =~ s/^VAR//gi;
$start_call_url =~ s/--A--lead_id--B--/$VAR_lead_id/gi;
$start_call_url =~ s/--A--entry_date--B--/$VAR_entry_date/gi;
$start_call_url =~ s/--A--modify_date--B--/$VAR_modify_date/gi;
$start_call_url =~ s/--A--status--B--/$VAR_status/gi;
$start_call_url =~ s/--A--user--B--/$VAR_user/gi;
$start_call_url =~ s/--A--vendor_id--B--/$VAR_vendor_lead_code/gi;
$start_call_url =~ s/--A--vendor_lead_code--B--/$VAR_vendor_lead_code/gi;
$start_call_url =~ s/--A--source_id--B--/$VAR_source_id/gi;
$start_call_url =~ s/--A--list_id--B--/$VAR_list_id/gi;
$start_call_url =~ s/--A--phone_number--B--/$VAR_phone_number/gi;
$start_call_url =~ s/--A--title--B--/$VAR_title/gi;
$start_call_url =~ s/--A--first_name--B--/$VAR_first_name/gi;
$start_call_url =~ s/--A--middle_initial--B--/$VAR_middle_initial/gi;
$start_call_url =~ s/--A--last_name--B--/$VAR_last_name/gi;
$start_call_url =~ s/--A--address1--B--/$VAR_address1/gi;
$start_call_url =~ s/--A--address2--B--/$VAR_address2/gi;
$start_call_url =~ s/--A--address3--B--/$VAR_address3/gi;
$start_call_url =~ s/--A--city--B--/$VAR_city/gi;
$start_call_url =~ s/--A--state--B--/$VAR_state/gi;
$start_call_url =~ s/--A--province--B--/$VAR_province/gi;
$start_call_url =~ s/--A--postal_code--B--/$VAR_postal_code/gi;
$start_call_url =~ s/--A--country_code--B--/$VAR_country_code/gi;
$start_call_url =~ s/--A--gender--B--/$VAR_gender/gi;
$start_call_url =~ s/--A--date_of_birth--B--/$VAR_date_of_birth/gi;
$start_call_url =~ s/--A--alt_phone--B--/$VAR_alt_phone/gi;
$start_call_url =~ s/--A--email--B--/$VAR_email/gi;
$start_call_url =~ s/--A--security_phrase--B--/$VAR_security_phrase/gi;
$start_call_url =~ s/--A--comments--B--/$VAR_comments/gi;
$start_call_url =~ s/--A--called_count--B--/$VAR_called_count/gi;
$start_call_url =~ s/--A--last_local_call_time--B--/$VAR_last_local_call_time/gi;
$start_call_url =~ s/--A--rank--B--/$VAR_rank/gi;
$start_call_url =~ s/--A--owner--B--/$VAR_owner/gi;
$start_call_url =~ s/--A--dialed_number--B--/$VAR_phone_number/gi;
$start_call_url =~ s/--A--dialed_label--B--/$VAR_alt_dial/gi;
$start_call_url =~ s/--A--user_custom_one--B--/$VAR_user_custom_one/gi;
$start_call_url =~ s/--A--user_custom_two--B--/$VAR_user_custom_two/gi;
$start_call_url =~ s/--A--user_custom_three--B--/$VAR_user_custom_three/gi;
$start_call_url =~ s/--A--user_custom_four--B--/$VAR_user_custom_four/gi;
$start_call_url =~ s/--A--user_custom_five--B--/$VAR_user_custom_five/gi;
$start_call_url =~ s/ /+/gi;
$start_call_url =~ s/&/\\&/gi;
if ($start_call_url =~ /--A--user_custom_/)
{
$stmtA = "select custom_one,custom_two,custom_three,custom_four,custom_five from vicidial_users where user='$user';;";
$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr;
$sthA->execute or die "executing: $stmtA ", $dbhA->errstr;
$sthArows=$sthA->rows;
if ($sthArows > 0)
{
@aryA = $sthA->fetchrow_array;
$VAR_user_custom_one = $aryA[0];
$VAR_user_custom_two = $aryA[1];
$VAR_user_custom_three = $aryA[2];
$VAR_user_custom_four = $aryA[3];
$VAR_user_custom_five = $aryA[4];
}
}
`$wgetbin -q --output-document=/tmp/ASUtmp $start_call_url `;
$start_call_url =~ s/^VAR//gi;
$start_call_url =~ s/--A--lead_id--B--/$VAR_lead_id/gi;
$start_call_url =~ s/--A--entry_date--B--/$VAR_entry_date/gi;
$start_call_url =~ s/--A--modify_date--B--/$VAR_modify_date/gi;
$start_call_url =~ s/--A--status--B--/$VAR_status/gi;
$start_call_url =~ s/--A--user--B--/$VAR_user/gi;
$start_call_url =~ s/--A--vendor_id--B--/$VAR_vendor_lead_code/gi;
$start_call_url =~ s/--A--vendor_lead_code--B--/$VAR_vendor_lead_code/gi;
$start_call_url =~ s/--A--source_id--B--/$VAR_source_id/gi;
$start_call_url =~ s/--A--list_id--B--/$VAR_list_id/gi;
$start_call_url =~ s/--A--phone_number--B--/$VAR_phone_number/gi;
$start_call_url =~ s/--A--title--B--/$VAR_title/gi;
$start_call_url =~ s/--A--first_name--B--/$VAR_first_name/gi;
$start_call_url =~ s/--A--middle_initial--B--/$VAR_middle_initial/gi;
$start_call_url =~ s/--A--last_name--B--/$VAR_last_name/gi;
$start_call_url =~ s/--A--address1--B--/$VAR_address1/gi;
$start_call_url =~ s/--A--address2--B--/$VAR_address2/gi;
$start_call_url =~ s/--A--address3--B--/$VAR_address3/gi;
$start_call_url =~ s/--A--city--B--/$VAR_city/gi;
$start_call_url =~ s/--A--state--B--/$VAR_state/gi;
$start_call_url =~ s/--A--province--B--/$VAR_province/gi;
$start_call_url =~ s/--A--postal_code--B--/$VAR_postal_code/gi;
$start_call_url =~ s/--A--country_code--B--/$VAR_country_code/gi;
$start_call_url =~ s/--A--gender--B--/$VAR_gender/gi;
$start_call_url =~ s/--A--date_of_birth--B--/$VAR_date_of_birth/gi;
$start_call_url =~ s/--A--alt_phone--B--/$VAR_alt_phone/gi;
$start_call_url =~ s/--A--email--B--/$VAR_email/gi;
$start_call_url =~ s/--A--security_phrase--B--/$VAR_security_phrase/gi;
$start_call_url =~ s/--A--comments--B--/$VAR_comments/gi;
$start_call_url =~ s/--A--called_count--B--/$VAR_called_count/gi;
$start_call_url =~ s/--A--last_local_call_time--B--/$VAR_last_local_call_time/gi;
$start_call_url =~ s/--A--rank--B--/$VAR_rank/gi;
$start_call_url =~ s/--A--owner--B--/$VAR_owner/gi;
$start_call_url =~ s/--A--dialed_number--B--/$VAR_phone_number/gi;
$start_call_url =~ s/--A--dialed_label--B--/$VAR_alt_dial/gi;
$start_call_url =~ s/--A--user_custom_one--B--/$VAR_user_custom_one/gi;
$start_call_url =~ s/--A--user_custom_two--B--/$VAR_user_custom_two/gi;
$start_call_url =~ s/--A--user_custom_three--B--/$VAR_user_custom_three/gi;
$start_call_url =~ s/--A--user_custom_four--B--/$VAR_user_custom_four/gi;
$start_call_url =~ s/--A--user_custom_five--B--/$VAR_user_custom_five/gi;
$start_call_url =~ s/ /+/gi;
$start_call_url =~ s/&/\\&/gi;
$event_string="$wgetbin -q --output-document=/tmp/ASUtmp $start_call_url|";
&event_logger;
`$wgetbin -q --output-document=/tmp/ASUtmp $start_call_url `;
$event_string="$function|$wgetbin -q --output-document=/tmp/ASUtmp $start_call_url|";
&event_logger;
##### END Start Call URL function #####
}
}
my $secZ = time();
my $script_time = ($secZ - $secX);
print "DONE execute time: $script_time seconds\n";
+3 -2
View File
@@ -943,7 +943,8 @@ wait_time_option_press_filename VARCHAR(255) default 'to-be-called-back|digits/1
wait_time_option_no_block ENUM('N','Y') default 'N',
wait_time_option_prompt_seconds SMALLINT(5) default '10',
timer_action_destination VARCHAR(30) default '',
calculate_estimated_hold_seconds SMALLINT(5) UNSIGNED default '0'
calculate_estimated_hold_seconds SMALLINT(5) UNSIGNED default '0',
add_lead_url TEXT
);
CREATE TABLE vicidial_stations (
@@ -2367,7 +2368,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='1246',db_schema_update_date=NOW();
UPDATE system_settings SET db_schema_version='1247',db_schema_update_date=NOW();
GRANT RELOAD ON *.* TO cron@'%';
GRANT RELOAD ON *.* TO cron@localhost;
+4
View File
@@ -554,3 +554,7 @@ ALTER TABLE user_call_log ADD customer_hungup ENUM('BEFORE_CALL','DURING_CALL','
ALTER TABLE user_call_log ADD customer_hungup_seconds SMALLINT(5) UNSIGNED default '0';
UPDATE system_settings SET db_schema_version='1246',db_schema_update_date=NOW();
ALTER TABLE vicidial_inbound_groups ADD add_lead_url TEXT;
UPDATE system_settings SET db_schema_version='1247',db_schema_update_date=NOW();
@@ -441,6 +441,8 @@ Customer 3-Way Hangup Action||
If Customer 3-way logging is enabled, this option allows you to have the agent screen automatically hang up on the call and go to the DISPO screen if this option is set to DISPO. Default is NONE||
Inbound Report by DID||
Lists Campaign Status Stats||
Add Lead URL||
This web URL address is not seen by the agent, but it is called every time a lead is added to the system through the inbound process. Default is blank. You must begin this URL with VAR if you want to use variables, and of course --A-- and --B-- around the actual variable in the URL where you want to use it. Here is the list of variables that are available for this function||
AST_LISTS_campaign_stats.php
+2 -2
View File
@@ -5478,7 +5478,7 @@ if ($ACTION == 'updateDISPO')
$rslt=mysql_query($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00146',$user,$server_ip,$session_name,$one_mysql_log);}
$row=mysql_fetch_row($rslt);
$stmt="INSERT INTO vicidial_dnc (phone_number) values('$row[0]');";
$stmt="INSERT IGNORE INTO vicidial_dnc (phone_number) values('$row[0]');";
$rslt=mysql_query($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00147',$user,$server_ip,$session_name,$one_mysql_log);}
if ($DB) {echo "$stmt\n";}
@@ -5491,7 +5491,7 @@ if ($ACTION == 'updateDISPO')
$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 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]','$campaign');";
$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";}
+18 -6
View File
@@ -1459,6 +1459,8 @@ if (isset($_GET["customer_3way_hangup_seconds"])) {$customer_3way_hangup_secon
elseif (isset($_POST["customer_3way_hangup_seconds"])) {$customer_3way_hangup_seconds=$_POST["customer_3way_hangup_seconds"];}
if (isset($_GET["customer_3way_hangup_action"])) {$customer_3way_hangup_action=$_GET["customer_3way_hangup_action"];}
elseif (isset($_POST["customer_3way_hangup_action"])) {$customer_3way_hangup_action=$_POST["customer_3way_hangup_action"];}
if (isset($_GET["add_lead_url"])) {$add_lead_url=$_GET["add_lead_url"];}
elseif (isset($_POST["add_lead_url"])) {$add_lead_url=$_POST["add_lead_url"];}
if (isset($script_id)) {$script_id= strtoupper($script_id);}
@@ -2232,6 +2234,7 @@ if ($non_latin < 1)
# $crm_login_address
# $start_call_url
# $dispo_call_url
# $add_lead_url
# $webphone_url
# $webphone_url_override
# $filter_url
@@ -2548,11 +2551,12 @@ else
# 100912-0842 - Several small changes, removed Emergency VDAC clear since it does not do anything anymore
# 100927-2321 - Added entry_list_id as a script, webform, dispo_call_url variable
# 100928-1634 - Moved Realtime Block User Info user setting into the new ADMIN REPORT OPTIONS section
# 100929-1203 - Added add_lead_url feature to In-Groups
#
# 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-282';
$build = '100928-1634';
$admin_version = '2.4-283';
$build = '100929-1203';
$STARTtime = date("U");
$SQLdate = date("Y-m-d H:i:s");
@@ -5256,6 +5260,11 @@ if ($ADD==99999)
<BR>
<B>Dispo Call URL -</B> 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.
<BR>
<A NAME="vicidial_inbound_groups-add_lead_url">
<BR>
<B>Add Lead URL -</B> This web URL address is not seen by the agent, but it is called every time a lead is added to the system through the inbound process. Default is blank. You must begin this URL with VAR if you want to use variables, and of course --A-- and --B-- around the actual variable in the URL where you want to use it. Here is the list of variables that are available for this function. lead_id, vendor_lead_code, list_id, phone_number, phone_code, did_id, did_extension, did_pattern, did_description, uniqueid
<BR>
<A NAME="vicidial_inbound_groups-default_group_alias">
<BR>
@@ -10502,7 +10511,7 @@ if ($ADD==2111)
}
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) 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','','','');";
$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) 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','','','','');";
$rslt=mysql_query($stmt, $link);
$stmtA="INSERT INTO vicidial_campaign_stats (campaign_id) values('$group_id');";
@@ -10567,7 +10576,7 @@ if ($ADD==2011)
}
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) 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 from vicidial_inbound_groups where group_id=\"$source_group_id\";";
$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) 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 from vicidial_inbound_groups where group_id=\"$source_group_id\";";
$rslt=mysql_query($stmt, $link);
echo "<br><B>GROUP ADDED: $group_id</B>\n";
@@ -13807,7 +13816,7 @@ if ($ADD==4111)
echo "<br><B>GROUP MODIFIED: $group_id</B>\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' 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) . "' where group_id='$group_id';";
$rslt=mysql_query($stmt, $link);
### LOG INSERTION Admin Log Table ###
@@ -21453,7 +21462,7 @@ if ($ADD==3111)
echo "<TABLE><TR><TD>\n";
echo "<FONT FACE=\"ARIAL,HELVETICA\" COLOR=BLACK SIZE=2>";
$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 from vicidial_inbound_groups where group_id='$group_id';";
$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 from vicidial_inbound_groups where group_id='$group_id';";
$rslt=mysql_query($stmt, $link);
$row=mysql_fetch_row($rslt);
@@ -21553,6 +21562,7 @@ if ($ADD==3111)
$wait_time_option_prompt_seconds = $row[94];
$timer_action_destination = $row[95];
$calculate_estimated_hold_seconds = $row[96];
$add_lead_url = $row[97];
##### get callmenu listings for dynamic pulldown
$stmt="SELECT menu_id,menu_name from vicidial_call_menu order by menu_id";
@@ -21962,6 +21972,8 @@ if ($ADD==3111)
echo "<tr bgcolor=#B6D3FC><td align=right>Dispo Call URL: </td><td align=left><input type=text name=dispo_call_url size=70 maxlength=1000 value=\"$dispo_call_url\">$NWB#vicidial_inbound_groups-dispo_call_url$NWE</td></tr>\n";
echo "<tr bgcolor=#B6D3FC><td align=right>Add Lead URL: </td><td align=left><input type=text name=add_lead_url size=70 maxlength=1000 value=\"$add_lead_url\">$NWB#vicidial_inbound_groups-add_lead_url$NWE</td></tr>\n";
echo "<tr bgcolor=#B6D3FC><td align=right>Extension Append CID: </td><td align=left><select size=1 name=extension_appended_cidname><option>Y</option><option>N</option><option SELECTED>$extension_appended_cidname</option></select>$NWB#vicidial_inbound_groups-extension_appended_cidname$NWE</td></tr>\n";
echo "<tr bgcolor=#B6D3FC><td align=right>Uniqueid Status Display: </td><td align=left><select size=1 name=uniqueid_status_display><option>DISABLED</option><option>ENABLED</option><option>ENABLED_PREFIX</option><option>ENABLED_PRESERVE</option><option SELECTED>$uniqueid_status_display</option></select>$NWB#vicidial_inbound_groups-uniqueid_status_display$NWE</td></tr>\n";
+86 -18
View File
@@ -18,6 +18,7 @@
# 100802-2347 - Added User Group Allowed Reports option validation
# 100804-1745 - Added option to download DNC and FPGN lists
# 100924-1609 - Added ALL-LISTS option for downloading everything
# 100929-1919 - Fixed ALL-LISTS download option to include custom fields
#
require("dbconnect.php");
@@ -344,12 +345,15 @@ while ($i < $leads_to_print)
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]";
$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]";
$export_list_id[$i] = $list_id;
$export_lead_id[$i] = $row[0];
}
$export_lead_id[$i] = $row[0];
}
$i++;
}
@@ -357,33 +361,98 @@ while ($i < $leads_to_print)
if ( ($custom_fields_enabled > 0) and ($event_code_type=='LIST') )
{
$stmt="SHOW TABLES LIKE \"custom_$list_id\";";
if ($DB>0) {echo "$stmt";}
$rslt=mysql_query($stmt, $link);
$tablecount_to_print = mysql_num_rows($rslt);
if ($tablecount_to_print > 0)
$valid_custom_table=0;
if ($list_id=='ALL-LISTS')
{
$stmtA = "describe custom_$list_id;";
$stmtA = "SELECT list_id from vicidial_lists;";
$rslt=mysql_query($stmtA, $link);
if ($DB) {echo "$stmtA\n";}
$columns_ct = mysql_num_rows($rslt);
$lists_ct = mysql_num_rows($rslt);
$u=0;
while ($columns_ct > $u)
while ($lists_ct > $u)
{
$row=mysql_fetch_row($rslt);
$column = $row[0];
if ($u > 0)
{$header_columns .= "\t$column";}
$custom_list_id[$u] = $row[0];
$u++;
}
if ($columns_ct > 1)
$u=0;
while ($lists_ct > $u)
{
$i=0;
while ($i < $leads_to_print)
$stmt="SHOW TABLES LIKE \"custom_$custom_list_id[$u]\";";
if ($DB>0) {echo "$stmt";}
$rslt=mysql_query($stmt, $link);
$tablecount_to_print = mysql_num_rows($rslt);
$custom_tablecount[$u] = $tablecount_to_print;
$u++;
}
$u=0;
while ($lists_ct > $u)
{
$custom_columns[$u]=0;
if ($custom_tablecount[$u] > 0)
{
$stmtA = "SELECT * from custom_$list_id where lead_id='$export_lead_id[$i]' limit 1;";
$stmtA = "describe custom_$custom_list_id[$u];";
$rslt=mysql_query($stmtA, $link);
if ($DB) {echo "$stmtA\n";}
$columns_ct = mysql_num_rows($rslt);
$custom_columns[$u] = $columns_ct;
}
if ($DB) {echo "$custom_list_id[$u]|$custom_tablecount[$u]|$custom_columns[$u]\n";}
$u++;
}
$valid_custom_table=1;
}
else
{
$stmt="SHOW TABLES LIKE \"custom_$list_id\";";
if ($DB>0) {echo "$stmt";}
$rslt=mysql_query($stmt, $link);
$tablecount_to_print = mysql_num_rows($rslt);
if ($tablecount_to_print > 0)
{
$stmtA = "describe custom_$list_id;";
$rslt=mysql_query($stmtA, $link);
if ($DB) {echo "$stmtA\n";}
$columns_ct = mysql_num_rows($rslt);
$u=0;
while ($columns_ct > $u)
{
$row=mysql_fetch_row($rslt);
$column = $row[0];
if ($u > 0)
{$header_columns .= "\t$column";}
$u++;
}
if ($columns_ct > 1)
{
$valid_custom_table=1;
}
}
}
if ($valid_custom_table > 0)
{
$i=0;
while ($i < $leads_to_print)
{
if ($list_id=='ALL-LISTS')
{
$valid_custom_table=0;
$u=0;
while ($lists_ct > $u)
{
if ( ($export_list_id[$i] == "$custom_list_id[$u]") and ($custom_columns[$u] > 1) )
{
$valid_custom_table=1;
$columns_ct = $custom_columns[$u];
}
$u++;
}
}
if ($valid_custom_table > 0)
{
$stmtA = "SELECT * from custom_$export_list_id[$i] where lead_id='$export_lead_id[$i]' limit 1;";
$rslt=mysql_query($stmtA, $link);
if ($DB) {echo "$columns_ct|$stmtA\n";}
$customfield_ct = mysql_num_rows($rslt);
if ($customfield_ct > 0)
{
@@ -398,9 +467,8 @@ if ( ($custom_fields_enabled > 0) and ($event_code_type=='LIST') )
$custom_data[$i] = preg_replace("/\r\n/",'!N',$custom_data[$i]);
$custom_data[$i] = preg_replace("/\n/",'!N',$custom_data[$i]);
$i++;
}
$i++;
}
}
}