Added list_name web url variable

Updated AST_manager_listen.pl script to run more efficiently and fix buffer data loss, issue #809

git-svn-id: svn://192.168.202.10@2251 3d104415-ff17-0410-8863-d5cf3c621b8a
This commit is contained in:
mattf
2015-01-15 02:17:24 +00:00
parent 13c7ac9bbe
commit d6f83833f2
6 changed files with 256 additions and 46 deletions
+105 -19
View File
@@ -43,6 +43,7 @@
# 140524-0900 - Fixed issue with consultative agent transfers in Asterisk 1.8
# 141113-1605 - Added concurrency check
# 141124-2309 - Fixed Fhour variable bug
# 141219-1137 - Change to keepalive processes to not run at busy times and not drop buffer
#
# constants
@@ -52,6 +53,8 @@ $MT[0]='';
$vdcl_update=0;
$vddl_update=0;
$run_check=1; # concurrency check
$last_keepalive_epoch = time();
$keepalive_skips=0;
### begin parsing run-time options ###
if (length($ARGV[0])>1)
@@ -211,7 +214,6 @@ if ($run_check > 0)
$one_day_interval = 90; # 1 day loops for 3 months
while($one_day_interval > 0)
{
$event_string="STARTING NEW MANAGER TELNET CONNECTION||ATTEMPT|ONE DAY INTERVAL:$one_day_interval|";
&event_logger;
# Errmode => Return,
@@ -220,8 +222,8 @@ while($one_day_interval > 0)
$tn = new Net::Telnet (Port => $telnet_port,
Prompt => '/.*[\$%#>] $/',
Output_record_separator => '',);
#$LItelnetlog = "$PATHlogs/listen_telnet_log.txt" # uncomment for telnet log
#$fh = $tn->dump_log("$LItelnetlog"); # uncomment for telnet log
# $LItelnetlog = "$PATHlogs/listen_telnet_log.txt"; # uncomment for telnet log
# $fh = $tn->dump_log("$LItelnetlog"); # uncomment for telnet log
if (length($ASTmgrUSERNAMElisten) > 3) {$telnet_login = $ASTmgrUSERNAMElisten;}
else {$telnet_login = $ASTmgrUSERNAME;}
$tn->open("$telnet_host");
@@ -246,7 +248,7 @@ while($one_day_interval > 0)
usleep(1*100*1000);
$msg='';
$read_input_buf = $tn->get(Errmode => Return, Timeout => 1,);
$read_input_buf = $tn->get(Errmode => Return, Timeout => 1,);
$input_buf_length = length($read_input_buf);
$msg = $tn->errmsg;
if ($msg =~ /filehandle isn\'t open/i)
@@ -262,12 +264,20 @@ while($one_day_interval > 0)
if ( ($read_input_buf !~ /\n\n/) or ($input_buf_length < 10) )
{
#if ($read_input_buf =~ /\n/) {print "\n|||$input_buf_length|||$read_input_buf|||\n";}
$input_buf = "$input_buf$read_input_buf";
if ($endless_loop =~ /00$|50$/)
{
$input_buf = "$input_buf$keepalive_lines$read_input_buf";
$input_buf =~ s/\n\n\n/\n\n/gi;
$keepalive_lines='';
}
else
{$input_buf = "$input_buf$read_input_buf";}
}
else
{
$partial=0;
$partial_input_buf='';
@input_lines=@MT;
if ($read_input_buf !~ /\n\n$/)
{
@@ -281,7 +291,14 @@ while($one_day_interval > 0)
$partial++;
}
$input_buf = "$input_buf$read_input_buf";
if ($endless_loop =~ /00$|50$/)
{
$input_buf = "$input_buf$keepalive_lines$read_input_buf";
$input_buf =~ s/\n\n\n/\n\n/gi;
$keepalive_lines='';
}
else
{$input_buf = "$input_buf$read_input_buf";}
@input_lines = split(/\n\n/, $input_buf);
if($DB){print "input buffer: $input_buf_length lines: $#input_lines partial: $partial\n";}
@@ -767,7 +784,7 @@ while($one_day_interval > 0)
$endless_loop--;
$keepalive_count_loop++;
if($DB){print STDERR "loop counter: |$endless_loop|$keepalive_count_loop| |$vddl_update|$vdcl_update|\r";}
if($DB){print STDERR " loop counter: |$endless_loop|$keepalive_count_loop| |$vddl_update|$vdcl_update|\r";}
### putting a blank file called "sendmgr.kill" in a directory will automatically safely kill this program
if ( (-e "$PATHhome/listenmgr.kill") or ($sendonlyone) )
@@ -782,6 +799,8 @@ while($one_day_interval > 0)
### Also, keep the MySQL connection alive by selecting the server_updater time for this server
if ($endless_loop =~ /00$|50$/)
{
$keepalive_lines='';
&get_time_now;
### Grab Server values from the database
@@ -806,15 +825,39 @@ while($one_day_interval > 0)
$last_update = $aryA[0];
$sthA->finish();
@list_lines = $tn->cmd(String => "Action: Command\nCommand: show uptime\n\n", Prompt => '/--END COMMAND--.*/', Errmode => Return, Timeout => 1);
if($DB){print "input lines: $#list_lines\n";}
$keepalive_epoch = time();
$keepalive_sec = ($keepalive_epoch - $last_keepalive_epoch);
if ($keepalive_sec > 40)
{
$keepalive_skips=0;
@keepalive_output = $tn->cmd(String => "Action: Command\nCommand: show uptime\n\n", Prompt => '/--END COMMAND--.*/', Errmode => Return, Timeout => 1);
if($DB){print "keepalive length: $#keepalive_output|$now_date\n";}
if($DB){print "+++++++++++++++++++++++++++++++sending keepalive transmit line $endless_loop|$now_date|$last_update|\n";}
if($DB){print "+++++++++++++++++++++++++++++++sending keepalive transmit line: $keepalive_sec seconds $endless_loop|$now_date|$last_update|\n";}
$k=0;
foreach(@keepalive_output)
{
$keepalive_lines .= "$keepalive_output[$k]";
$k++;
}
$manager_string="PROCESS: keepalive length: $#keepalive_output|$k|$now_date";
&manager_output_logger;
}
else
{
$keepalive_skips++;
if($DB){print "-------------------------------no keepalive transmit necessary: $keepalive_sec seconds($keepalive_skips in a row) $endless_loop|$now_date|$last_update|\n";}
$manager_string="PROCESS: keepalive skip: $keepalive_sec seconds($keepalive_skips in a row)|$now_date";
&manager_output_logger;
}
$last_keepalive_epoch = time();
$keepalive_count_loop=0;
}
}
### END manager event handling for asterisk version < 1.6
}
}
else
{
### BEGIN manager event handling for asterisk version >= 1.6
@@ -825,7 +868,7 @@ while($one_day_interval > 0)
usleep(1*100*1000);
$msg='';
$read_input_buf = $tn->get(Errmode => Return, Timeout => 1,);
$read_input_buf = $tn->get(Errmode => Return, Timeout => 1,);
$input_buf_length = length($read_input_buf);
$msg = $tn->errmsg;
if ($msg =~ /filehandle isn\'t open/i)
@@ -841,12 +884,20 @@ while($one_day_interval > 0)
if ( ($read_input_buf !~ /\n\n/) or ($input_buf_length < 10) )
{
#if ($read_input_buf =~ /\n/) {print "\n|||$input_buf_length|||$read_input_buf|||\n";}
$input_buf = "$input_buf$read_input_buf";
if ($endless_loop =~ /00$|50$/)
{
$input_buf = "$input_buf$keepalive_lines$read_input_buf";
$input_buf =~ s/\n\n\n/\n\n/gi;
$keepalive_lines='';
}
else
{$input_buf = "$input_buf$read_input_buf";}
}
else
{
$partial=0;
$partial_input_buf='';
@input_lines=@MT;
if ($read_input_buf !~ /\n\n$/)
{
@@ -860,9 +911,17 @@ while($one_day_interval > 0)
$partial++;
}
$input_buf = "$input_buf$read_input_buf";
if ($endless_loop =~ /00$|50$/)
{
$input_buf = "$input_buf$keepalive_lines$read_input_buf";
$input_buf =~ s/\n\n\n/\n\n/gi;
$keepalive_lines='';
}
else
{$input_buf = "$input_buf$read_input_buf";}
@input_lines = split(/\n\n/, $input_buf);
if($DB){print "input buffer: $input_buf_length lines: $#input_lines partial: $partial\n";}
if ( ($DB) && ($partial) ) {print "-----[$partial_input_buf]-----\n\n";}
if($DB){print "|$input_buf|\n";}
@@ -1202,7 +1261,7 @@ while($one_day_interval > 0)
$endless_loop--;
$keepalive_count_loop++;
if($DB){print STDERR "loop counter: |$endless_loop|$keepalive_count_loop| |$vddl_update|$vdcl_update|\r";}
if($DB){print STDERR " loop counter: |$endless_loop|$keepalive_count_loop| |$vddl_update|$vdcl_update|\r";}
### putting a blank file called "sendmgr.kill" in a directory will automatically safely kill this program
if ( (-e "$PATHhome/listenmgr.kill") or ($sendonlyone) )
@@ -1217,6 +1276,8 @@ while($one_day_interval > 0)
### Also, keep the MySQL connection alive by selecting the server_updater time for this server
if ($endless_loop =~ /00$|50$/)
{
$keepalive_lines='';
&get_time_now;
### Grab Server values from the database
@@ -1227,7 +1288,7 @@ while($one_day_interval > 0)
if ($sthArows > 0)
{
@aryA = $sthA->fetchrow_array;
$DBvd_server_logs = "$aryA[0]";
$DBvd_server_logs = $aryA[0];
if ($DBvd_server_logs =~ /Y/) {$SYSLOG = '1';}
else {$SYSLOG = '0';}
}
@@ -1241,10 +1302,35 @@ while($one_day_interval > 0)
$last_update = $aryA[0];
$sthA->finish();
@list_lines = $tn->cmd(String => "Action: Command\nCommand: show uptime\n\n", Prompt => '/--END COMMAND--.*/', Errmode => Return, Timeout => 1);
if($DB){print "input lines: $#list_lines\n";}
$keepalive_epoch = time();
$keepalive_sec = ($keepalive_epoch - $last_keepalive_epoch);
if ($keepalive_sec > 40)
{
$keepalive_skips=0;
@keepalive_output = $tn->cmd(String => "Action: Command\nCommand: core show uptime\n\n", Prompt => '/--END COMMAND--.*/', Errmode => Return, Timeout => 1);
if($DB){print "keepalive length: $#keepalive_output|$now_date\n";}
if($DB){print "+++++++++++++++++++++++++++++++sending keepalive transmit line: $keepalive_sec seconds $endless_loop|$now_date|$last_update|\n";}
$k=0;
foreach(@keepalive_output)
{
$keepalive_lines .= "$keepalive_output[$k]";
$k++;
}
$manager_string="PROCESS: keepalive length: $#keepalive_output|$k|$now_date";
&manager_output_logger;
}
else
{
$keepalive_skips++;
if($DB){print "-------------------------------no keepalive transmit necessary: $keepalive_sec seconds($keepalive_skips in a row) $endless_loop|$now_date|$last_update|\n";}
$manager_string="PROCESS: keepalive skip: $keepalive_sec seconds($keepalive_skips in a row)|$now_date";
&manager_output_logger;
}
$last_keepalive_epoch = time();
if($DB){print "+++++++++++++++++++++++++++++++sending keepalive transmit line $endless_loop|$now_date|$last_update|\n";}
$keepalive_count_loop=0;
}
}
+75 -2
View File
@@ -8,7 +8,7 @@
# This script is also used for the Add-Lead-URL feature in In-groups and for
# QM socket-send.
#
# Copyright (C) 2014 Matt Florell <vicidial@gmail.com> LICENSE: AGPLv2
# Copyright (C) 2015 Matt Florell <vicidial@gmail.com> LICENSE: AGPLv2
#
# CHANGES
# 100622-0929 - First Build
@@ -18,6 +18,7 @@
# 130402-2307 - Added user_group variable
# 141211-1742 - Added list override for no-agent url
# 141219-1218 - url logging fix for some inputs
# 150114-2037 - Added list_name variable
#
$|++;
@@ -215,6 +216,24 @@ if (length($lead_id) > 0)
$sthA->finish();
}
$list_name='';
if (length($list_id) > 1)
{
$stmtH = "SELECT list_name FROM vicidial_lists where list_id='$list_id';";
$sthA = $dbhA->prepare($stmtH) or die "preparing: ",$dbhA->errstr;
$sthA->execute or die "executing: $stmtH ", $dbhA->errstr;
$list_name_ct=$sthA->rows;
if ($list_name_ct > 0)
{
@aryA = $sthA->fetchrow_array;
if (length($aryA[0])>0)
{
$list_name = $aryA[0];
}
}
$sthA->finish();
}
$VAR_lead_id = $lead_id;
$VAR_user = $user;
$VAR_phone_number = $phone_number;
@@ -295,11 +314,29 @@ if (length($lead_id) > 0)
}
$sthA->finish();
if ( (length($VAR_list_id) > 1) && (length($list_name) < 1) && ($add_lead_url =~ /--A--list_name--B--/) )
{
$stmtH = "SELECT list_name FROM vicidial_lists where list_id='$VAR_list_id';";
$sthA = $dbhA->prepare($stmtH) or die "preparing: ",$dbhA->errstr;
$sthA->execute or die "executing: $stmtH ", $dbhA->errstr;
$list_name_ct=$sthA->rows;
if ($list_name_ct > 0)
{
@aryA = $sthA->fetchrow_array;
if (length($aryA[0])>0)
{
$list_name = $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--list_name--B--/$list_name/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;
@@ -415,7 +452,24 @@ if (length($lead_id) > 0)
}
$sthA->finish();
}
if ( (length($VAR_list_id) > 1) && (length($list_name) < 1) && ($na_call_url =~ /--A--list_name--B--/) )
{
$stmtH = "SELECT list_name FROM vicidial_lists where list_id='$VAR_list_id';";
$sthA = $dbhA->prepare($stmtH) or die "preparing: ",$dbhA->errstr;
$sthA->execute or die "executing: $stmtH ", $dbhA->errstr;
$list_name_ct=$sthA->rows;
if ($list_name_ct > 0)
{
@aryA = $sthA->fetchrow_array;
if (length($aryA[0])>0)
{
$list_name = $aryA[0];
}
}
$sthA->finish();
}
$na_call_url =~ s/^VAR//gi;
$na_call_url =~ s/--A--lead_id--B--/$VAR_lead_id/gi;
$na_call_url =~ s/--A--entry_date--B--/$VAR_entry_date/gi;
@@ -427,6 +481,7 @@ if (length($lead_id) > 0)
$na_call_url =~ s/--A--vendor_lead_code--B--/$VAR_vendor_lead_code/gi;
$na_call_url =~ s/--A--source_id--B--/$VAR_source_id/gi;
$na_call_url =~ s/--A--list_id--B--/$VAR_list_id/gi;
$na_call_url =~ s/--A--list_name--B--/$list_name/gi;
$na_call_url =~ s/--A--phone_code--B--/$VAR_phone_code/gi;
$na_call_url =~ s/--A--phone_number--B--/$VAR_phone_number/gi;
$na_call_url =~ s/--A--title--B--/$VAR_title/gi;
@@ -573,6 +628,23 @@ if (length($lead_id) > 0)
$sthA->finish();
}
if ( (length($VAR_list_id) > 1) && (length($list_name) < 1) && ($start_call_url =~ /--A--list_name--B--/) )
{
$stmtH = "SELECT list_name FROM vicidial_lists where list_id='$VAR_list_id';";
$sthA = $dbhA->prepare($stmtH) or die "preparing: ",$dbhA->errstr;
$sthA->execute or die "executing: $stmtH ", $dbhA->errstr;
$list_name_ct=$sthA->rows;
if ($list_name_ct > 0)
{
@aryA = $sthA->fetchrow_array;
if (length($aryA[0])>0)
{
$list_name = $aryA[0];
}
}
$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;
@@ -583,6 +655,7 @@ if (length($lead_id) > 0)
$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--list_name--B--/$list_name/gi;
$start_call_url =~ s/--A--phone_code--B--/$VAR_phone_code/gi;
$start_call_url =~ s/--A--phone_number--B--/$VAR_phone_number/gi;
$start_call_url =~ s/--A--title--B--/$VAR_title/gi;
+1 -1
View File
@@ -72,7 +72,7 @@ user_custom_three, user_custom_four, user_custom_five,
preset_number_a, preset_number_b, preset_number_c, preset_number_d,
preset_number_e, preset_number_f, preset_dtmf_a, preset_dtmf_b,
did_id, did_extension, did_pattern, did_description, closecallid,
xfercallid, agent_log_id, entry_list_id, call_id.
xfercallid, agent_log_id, entry_list_id, call_id, user_group, list_name.
For examples(and sample result URL):
+51 -19
View File
@@ -372,12 +372,13 @@
# 141216-1900 - Added agent choose language option
# 141229-1428 - Changed single-quote QXZ arguments to double-quotes
# 150111-1544 - Added lists option: local call time(Issue #812) and added manual_dial_search_filter feature
# 150114-2051 - Added list_name web url variable
#
$version = '2.10-267';
$build = '150111-1544';
$version = '2.10-268';
$build = '150114-2051';
$mel=1; # Mysql Error Log enabled = 1
$mysql_log_count=599;
$mysql_log_count=611;
$one_mysql_log=0;
$DB=0;
@@ -1902,7 +1903,7 @@ if ($ACTION == 'manDiaLnextCaLL')
{
$stmt="SELECT list_id,state FROM vicidial_list where lead_id='$lead_id';";
$rslt=mysql_to_mysqli($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);}
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00600',$user,$server_ip,$session_name,$one_mysql_log);}
if ($DB) {echo "$stmt\n";}
$row=mysqli_fetch_row($rslt);
$lead_list_id = $row[0];
@@ -1912,7 +1913,7 @@ if ($ACTION == 'manDiaLnextCaLL')
### Get local_call_time for list
$stmt="SELECT local_call_time FROM vicidial_lists where list_id='$lead_list_id';";
$rslt=mysql_to_mysqli($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);}
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00601',$user,$server_ip,$session_name,$one_mysql_log);}
if ($DB) {echo "$stmt\n";}
$row=mysqli_fetch_row($rslt);
$list_local_call_time = $row[0];
@@ -2270,7 +2271,7 @@ if ($ACTION == 'manDiaLnextCaLL')
}
$rslt=mysql_to_mysqli($stmt, $link);
if ($DB) {echo "$stmt\n";}
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);}
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00602',$user,$server_ip,$session_name,$one_mysql_log);}
$sthCrows=mysqli_num_rows($rslt);
if ($sthCrows > 0)
{
@@ -2563,7 +2564,7 @@ if ($ACTION == 'manDiaLnextCaLL')
# Camp List
$stmt="SELECT list_id FROM vicidial_lists where campaign_id='$campaign' and active='Y';";
$rslt_list=mysql_to_mysqli($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);}
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00603',$user,$server_ip,$session_name,$one_mysql_log);}
$camplists_ct = mysqli_num_rows($rslt_list);
if ($DB) {echo "$camplists_ct|$stmt\n";}
$k=0;
@@ -2602,7 +2603,7 @@ if ($ACTION == 'manDiaLnextCaLL')
# Pull the call times for the lists
$stmt="SELECT local_call_time FROM vicidial_lists where list_id='$cur_list_id';";
$rslt=mysql_to_mysqli($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);}
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00604',$user,$server_ip,$session_name,$one_mysql_log);}
$rslt_ct = mysqli_num_rows($rslt);
if ($rslt_ct > 0)
{
@@ -2648,7 +2649,7 @@ if ($ACTION == 'manDiaLnextCaLL')
$stmt = "SELECT holiday_id,holiday_date,holiday_name,ct_default_start,ct_default_stop from vicidial_call_time_holidays where holiday_id IN($Gct_holidaysSQL) and holiday_status='ACTIVE' and holiday_date='$YMD' order by holiday_id;";
$rslt=mysql_to_mysqli($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);}
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00605',$user,$server_ip,$session_name,$one_mysql_log);}
$sthCrows=mysqli_num_rows($rslt);
if ($sthCrows > 0)
{
@@ -2692,7 +2693,7 @@ if ($ACTION == 'manDiaLnextCaLL')
{
$stmt = "SELECT state_call_time_id,state_call_time_state,state_call_time_name,state_call_time_comments,sct_default_start,sct_default_stop,sct_sunday_start,sct_sunday_stop,sct_monday_start,sct_monday_stop,sct_tuesday_start,sct_tuesday_stop,sct_wednesday_start,sct_wednesday_stop,sct_thursday_start,sct_thursday_stop,sct_friday_start,sct_friday_stop,sct_saturday_start,sct_saturday_stop,ct_holidays from vicidial_state_call_times where state_call_time_id='$state_rules[$b]';";
$rslt=mysql_to_mysqli($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);}
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00606',$user,$server_ip,$session_name,$one_mysql_log);}
$sthCrows=mysqli_num_rows($rslt);
if ($sthCrows > 0)
{
@@ -2739,7 +2740,7 @@ if ($ACTION == 'manDiaLnextCaLL')
}
$rslt=mysql_to_mysqli($stmt, $link);
if ($DB) {echo "$stmt\n";}
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);}
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00607',$user,$server_ip,$session_name,$one_mysql_log);}
$sthCrows=mysqli_num_rows($rslt);
if ($sthCrows > 0)
{
@@ -3310,7 +3311,7 @@ if ($ACTION == 'manDiaLnextCaLL')
### Get local_call_time for list
$stmt="SELECT local_call_time FROM vicidial_lists where list_id='$lead_list_id';";
$rslt=mysql_to_mysqli($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);}
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00608',$user,$server_ip,$session_name,$one_mysql_log);}
if ($DB) {echo "$stmt\n";}
$row=mysqli_fetch_row($rslt);
$list_local_call_time = $row[0];
@@ -3876,7 +3877,7 @@ if ($ACTION == 'manDiaLnextCaLL')
### Look for number preset override settings from list
if (strlen($list_id)>0)
{
$stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number from vicidial_lists where list_id='$list_id';";
$stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number,list_name from vicidial_lists where list_id='$list_id';";
if ($DB) {echo "$stmt\n";}
$rslt=mysql_to_mysqli($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00278',$user,$server_ip,$session_name,$one_mysql_log);}
@@ -3894,6 +3895,8 @@ if ($ACTION == 'manDiaLnextCaLL')
{$VDCL_xferconf_d_number = $row[3];}
if (strlen($row[4]) > 0)
{$VDCL_xferconf_e_number = $row[4];}
if (strlen($row[5]) > 0)
{$list_name = $row[5];}
}
$custom_field_names='|';
@@ -3998,6 +4001,7 @@ if ($ACTION == 'manDiaLnextCaLL')
$LeaD_InfO .= $post_phone_time_diff_alert_message . "\n";
$LeaD_InfO .= $ACcount . "\n";
$LeaD_InfO .= $ACcomments . "\n";
$LeaD_InfO .= $list_name . "\n";
echo $LeaD_InfO;
}
@@ -6596,7 +6600,7 @@ if ($ACTION == 'VDADcheckINCOMING')
### Check for List ID override settings
if (strlen($list_id)>0)
{
$stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number,web_form_address,web_form_address_two from vicidial_lists where list_id='$list_id';";
$stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number,web_form_address,web_form_address_two,list_name from vicidial_lists where list_id='$list_id';";
if ($DB) {echo "$stmt\n";}
$rslt=mysql_to_mysqli($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00281',$user,$server_ip,$session_name,$one_mysql_log);}
@@ -6618,6 +6622,8 @@ if ($ACTION == 'VDADcheckINCOMING')
{$VDCL_group_web = $row[5];}
if (strlen($row[6]) > 5)
{$VDCL_group_web_two = $row[6];}
if (strlen($row[7]) > 0)
{$list_name = $row[7];}
}
}
@@ -6891,7 +6897,7 @@ if ($ACTION == 'VDADcheckINCOMING')
### Check for List ID override settings
if (strlen($list_id)>0)
{
$stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number,web_form_address,web_form_address_two from vicidial_lists where list_id='$list_id';";
$stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number,web_form_address,web_form_address_two,list_name from vicidial_lists where list_id='$list_id';";
if ($DB) {echo "$stmt\n";}
$rslt=mysql_to_mysqli($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00282',$user,$server_ip,$session_name,$one_mysql_log);}
@@ -6913,6 +6919,8 @@ if ($ACTION == 'VDADcheckINCOMING')
{$VDCL_group_web = $row[5];}
if (strlen($row[6]) > 5)
{$VDCL_group_web_two = $row[6];}
if (strlen($row[7]) > 0)
{$list_name = $row[7];}
}
}
@@ -7088,6 +7096,7 @@ if ($ACTION == 'VDADcheckINCOMING')
$LeaD_InfO .= $LISTweb_form_address_two . "\n";
$LeaD_InfO .= $ACcount . "\n";
$LeaD_InfO .= $ACcomments . "\n";
$LeaD_InfO .= $list_name . "\n";
echo $LeaD_InfO;
@@ -7190,6 +7199,7 @@ if ($ACTION == 'VDADcheckINCOMING')
$VDCL_start_call_url = preg_replace('/--A--vendor_id--B--/i',urlencode(trim($vendor_id)),$VDCL_start_call_url);
$VDCL_start_call_url = preg_replace('/--A--vendor_lead_code--B--/i',urlencode(trim($vendor_id)),$VDCL_start_call_url);
$VDCL_start_call_url = preg_replace('/--A--list_id--B--/i',urlencode(trim($list_id)),$VDCL_start_call_url);
$VDCL_start_call_url = preg_replace('/--A--list_name--B--/i',urlencode(trim($list_name)),$VDCL_start_call_url);
$VDCL_start_call_url = preg_replace('/--A--gmt_offset_now--B--/i',urlencode(trim($gmt_offset_now)),$VDCL_start_call_url);
$VDCL_start_call_url = preg_replace('/--A--phone_code--B--/i',urlencode(trim($phone_code)),$VDCL_start_call_url);
$VDCL_start_call_url = preg_replace('/--A--phone_number--B--/i',urlencode(trim($phone_number)),$VDCL_start_call_url);
@@ -7875,7 +7885,7 @@ if ($ACTION == 'VDADcheckINCOMINGemail')
### Check for List ID override settings
if (strlen($list_id)>0)
{
$stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number,web_form_address,web_form_address_two from vicidial_lists where list_id='$list_id';";
$stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number,web_form_address,web_form_address_two,list_name from vicidial_lists where list_id='$list_id';";
if ($DB) {echo "$stmt\n";}
$rslt=mysql_to_mysqli($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00508',$user,$server_ip,$session_name,$one_mysql_log);}
@@ -7897,6 +7907,8 @@ if ($ACTION == 'VDADcheckINCOMINGemail')
{$VDCL_group_web = $row[5];}
if (strlen($row[6]) > 5)
{$VDCL_group_web_two = $row[6];}
if (strlen($row[7]) > 0)
{$list_name = $row[7];}
}
}
@@ -8041,6 +8053,7 @@ if ($ACTION == 'VDADcheckINCOMINGemail')
$LeaD_InfO .= $custom_field_names . "\n";
$LeaD_InfO .= $custom_field_values . "\n";
$LeaD_InfO .= $custom_field_types . "\n";
$LeaD_InfO .= $list_name . "\n";
echo $LeaD_InfO;
@@ -8143,6 +8156,7 @@ if ($ACTION == 'VDADcheckINCOMINGemail')
$VDCL_start_call_url = preg_replace('/--A--vendor_id--B--/i',urlencode(trim($vendor_id)),$VDCL_start_call_url);
$VDCL_start_call_url = preg_replace('/--A--vendor_lead_code--B--/i',urlencode(trim($vendor_id)),$VDCL_start_call_url);
$VDCL_start_call_url = preg_replace('/--A--list_id--B--/i',urlencode(trim($list_id)),$VDCL_start_call_url);
$VDCL_start_call_url = preg_replace('/--A--list_name--B--/i',urlencode(trim($list_name)),$VDCL_start_call_url);
$VDCL_start_call_url = preg_replace('/--A--gmt_offset_now--B--/i',urlencode(trim($gmt_offset_now)),$VDCL_start_call_url);
$VDCL_start_call_url = preg_replace('/--A--phone_code--B--/i',urlencode(trim($phone_code)),$VDCL_start_call_url);
$VDCL_start_call_url = preg_replace('/--A--phone_number--B--/i',urlencode(trim($phone_number)),$VDCL_start_call_url);
@@ -8826,7 +8840,7 @@ if ($ACTION == 'LeaDSearcHSelecTUpdatE')
### Check for List ID override settings
if (strlen($list_id)>0)
{
$stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number,web_form_address,web_form_address_two from vicidial_lists where list_id='$list_id';";
$stmt = "SELECT xferconf_a_number,xferconf_b_number,xferconf_c_number,xferconf_d_number,xferconf_e_number,web_form_address,web_form_address_two,list_name from vicidial_lists where list_id='$list_id';";
if ($DB) {echo "$stmt\n";}
$rslt=mysql_to_mysqli($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00473',$user,$server_ip,$session_name,$one_mysql_log);}
@@ -8848,6 +8862,8 @@ if ($ACTION == 'LeaDSearcHSelecTUpdatE')
{$VDCL_group_web = $row[5];}
if (strlen($row[6]) > 5)
{$VDCL_group_web_two = $row[6];}
if (strlen($row[7]) > 0)
{$list_name = $row[7];}
}
}
@@ -9034,6 +9050,7 @@ if ($ACTION == 'LeaDSearcHSelecTUpdatE')
$LeaD_InfO .= $LISTweb_form_address_two . "\n";
$LeaD_InfO .= $ACcount . "\n";
$LeaD_InfO .= $ACcomments . "\n";
$LeaD_InfO .= $list_name . "\n";
echo $LeaD_InfO;
@@ -10418,11 +10435,26 @@ if ($ACTION == 'updateDISPO')
$entry_list_id = urlencode(trim($row[34]));
}
if (preg_match('/list_name--B--/i',$dispo_call_url))
{
$stmt = "SELECT list_name from vicidial_lists where list_id='$list_id' limit 1;";
if ($DB) {echo "$stmt\n";}
$rslt=mysql_to_mysqli($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00609',$user,$server_ip,$session_name,$one_mysql_log);}
$VL_ln_ct = mysqli_num_rows($rslt);
if ($VL_ln_ct > 0)
{
$row=mysqli_fetch_row($rslt);
$list_name = urlencode(trim($row[0]));
}
}
$dispo_call_url = preg_replace('/^VAR/','',$dispo_call_url);
$dispo_call_url = preg_replace('/--A--lead_id--B--/i',"$lead_id",$dispo_call_url);
$dispo_call_url = preg_replace('/--A--vendor_id--B--/i',"$vendor_id",$dispo_call_url);
$dispo_call_url = preg_replace('/--A--vendor_lead_code--B--/i',"$vendor_lead_code",$dispo_call_url);
$dispo_call_url = preg_replace('/--A--list_id--B--/i',"$list_id",$dispo_call_url);
$dispo_call_url = preg_replace('/--A--list_name--B--/i',"$list_name",$dispo_call_url);
$dispo_call_url = preg_replace('/--A--gmt_offset_now--B--/i',"$gmt_offset_now",$dispo_call_url);
$dispo_call_url = preg_replace('/--A--phone_code--B--/i',"$phone_code",$dispo_call_url);
$dispo_call_url = preg_replace('/--A--phone_number--B--/i',"$phone_number",$dispo_call_url);
@@ -12912,7 +12944,7 @@ if ($ACTION == 'LEADINFOview')
### Get local_call_time for list
$stmt="SELECT local_call_time FROM vicidial_lists where list_id='$lead_list_id';";
$rslt=mysql_to_mysqli($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);}
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00610',$user,$server_ip,$session_name,$one_mysql_log);}
if ($DB) {echo "$stmt\n";}
$rowy=mysqli_fetch_row($rslt);
$list_local_call_time = $rowy[0];
@@ -13490,7 +13522,7 @@ if ($ACTION == 'CalLBacKLisT')
### Get local_call_time for list
$stmt="SELECT local_call_time FROM vicidial_lists where list_id='$lead_list_id';";
$rslt=mysql_to_mysqli($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);}
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00611',$user,$server_ip,$session_name,$one_mysql_log);}
if ($DB) {echo "$stmt\n";}
$rslt_ct = mysqli_num_rows($rslt);
if ($rslt_ct > 0)
+6 -3
View File
@@ -1,7 +1,7 @@
<?php
# vdc_form_display.php
#
# Copyright (C) 2014 Matt Florell <vicidial@gmail.com> LICENSE: AGPLv2
# Copyright (C) 2015 Matt Florell <vicidial@gmail.com> LICENSE: AGPLv2
#
# This script is designed display the contents of the FORM tab in the agent
# interface, as well as take submission of the form submission when the agent
@@ -28,10 +28,11 @@
# 141118-1424 - Added agent_email variable
# 141128-0855 - Code cleanup for QXZ functions
# 141216-2116 - Added language settings lookups and user/pass variable standardization
# 150114-2045 - Added list_name variable
#
$version = '2.10-19';
$build = '141216-2116';
$version = '2.10-20';
$build = '150114-2045';
require_once("dbconnect_mysqli.php");
require_once("functions.php");
@@ -167,6 +168,8 @@ if (isset($_GET["bcrypt"])) {$bcrypt=$_GET["bcrypt"];}
elseif (isset($_POST["bcrypt"])) {$bcrypt=$_POST["bcrypt"];}
if (isset($_GET["called_count"])) {$called_count=$_GET["called_count"];}
elseif (isset($_POST["called_count"])) {$called_count=$_POST["called_count"];}
if (isset($_GET["list_name"])) {$list_name=$_GET["list_name"];}
elseif (isset($_POST["list_name"])) {$list_name=$_POST["list_name"];}
if ($bcrypt == 'OFF')
{$bcrypt=0;}
+18 -2
View File
@@ -467,10 +467,11 @@
# 150101-1516 - Updated for 2015
# 150108-1725 - Added more validation for API transfer commands
# 150111-1545 - Added manual_dial_search_filter campaign option(Issue #812)
# 150114-2052 - Added list_name web url variable
#
$version = '2.10-438c';
$build = '150111-1545';
$version = '2.10-439c';
$build = '150114-2052';
$mel=1; # Mysql Error Log enabled = 1
$mysql_log_count=85;
$one_mysql_log=0;
@@ -6812,6 +6813,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection)
//END section Added By Poundteam for Audited Comments
// Add here for AutoDial (VDADcheckINCOMING in vdc_db_query)
document.vicidial_form.list_name.value = change_array[55];
if (hide_gender > 0)
{
document.vicidial_form.gender_list.value = change_array[25];
@@ -7920,6 +7923,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection)
}
//END section Added By Poundteam for Audited Comments
document.vicidial_form.list_name.value = MDnextResponse_array[53];
timer_action = campaign_timer_action;
timer_action_message = campaign_timer_action_message;
timer_action_seconds = campaign_timer_action_seconds;
@@ -8170,6 +8175,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection)
document.vicidial_form.lead_id.value ='';
document.vicidial_form.vendor_lead_code.value='';
document.vicidial_form.list_id.value ='';
document.vicidial_form.list_name.value ='';
document.vicidial_form.entry_list_id.value ='';
document.vicidial_form.gmt_offset_now.value ='';
document.vicidial_form.phone_code.value ='';
@@ -8965,6 +8971,8 @@ function set_length(SLnumber,SLlength_goal,SLdirection)
//END section Added By Poundteam for Audited Comments
// Add here for AutoDial (VDADcheckINCOMING in vdc_db_query)
document.vicidial_form.list_name.value = check_VDIC_array[55];
if (hide_gender > 0)
{
document.vicidial_form.gender_list.value = check_VDIC_array[25];
@@ -9502,6 +9510,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection)
custom_field_names = check_VDIC_array[48];
custom_field_values = check_VDIC_array[49];
custom_field_types = check_VDIC_array[50];
document.vicidial_form.list_name.value = check_VDIC_array[51];
if (hide_gender > 0)
@@ -10989,6 +10998,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection)
document.vicidial_form.lead_id.value ='';
document.vicidial_form.vendor_lead_code.value='';
document.vicidial_form.list_id.value ='';
document.vicidial_form.list_name.value ='';
document.vicidial_form.entry_list_id.value ='';
document.vicidial_form.gmt_offset_now.value ='';
document.vicidial_form.phone_code.value ='';
@@ -12456,6 +12466,7 @@ else
"&entry_list_id=" + document.vicidial_form.entry_list_id.value + '' +
"&call_id=" + LasTCID + '' +
"&user_group=" + VU_user_group + '' +
"&list_name=" + encodeURIComponent(document.vicidial_form.list_name.value) +
"&web_vars=" + LIVE_web_vars + '' +
webform_session;
@@ -12602,6 +12613,7 @@ else
var SCvendor_lead_code = encodeURIComponent(document.vicidial_form.vendor_lead_code.value);
var SCsource_id = source_id;
var SClist_id = encodeURIComponent(document.vicidial_form.list_id.value);
var SClist_name = encodeURIComponent(document.vicidial_form.list_name.value);
var SCgmt_offset_now = encodeURIComponent(document.vicidial_form.gmt_offset_now.value);
var SCcalled_since_last_reset = "";
var SCphone_code = encodeURIComponent(document.vicidial_form.phone_code.value);
@@ -12681,6 +12693,7 @@ else
SCvendor_lead_code = SCvendor_lead_code.replace(RGplus,'+');
SCsource_id = SCsource_id.replace(RGplus,'+');
SClist_id = SClist_id.replace(RGplus,'+');
SClist_name = SClist_name.replace(RGplus,'+');
SCgmt_offset_now = SCgmt_offset_now.replace(RGplus,'+');
SCcalled_since_last_reset = SCcalled_since_last_reset.replace(RGplus,'+');
SCphone_code = SCphone_code.replace(RGplus,'+');
@@ -12754,6 +12767,7 @@ else
var RGvendor_lead_code = new RegExp("--A--vendor_lead_code--B--","g");
var RGsource_id = new RegExp("--A--source_id--B--","g");
var RGlist_id = new RegExp("--A--list_id--B--","g");
var RGlist_name = new RegExp("--A--list_name--B--","g");
var RGgmt_offset_now = new RegExp("--A--gmt_offset_now--B--","g");
var RGcalled_since_last_reset = new RegExp("--A--called_since_last_reset--B--","g");
var RGphone_code = new RegExp("--A--phone_code--B--","g");
@@ -12831,6 +12845,7 @@ else
encoded = encoded.replace(RGvendor_lead_code, SCvendor_lead_code);
encoded = encoded.replace(RGsource_id, SCsource_id);
encoded = encoded.replace(RGlist_id, SClist_id);
encoded = encoded.replace(RGlist_name, SClist_name);
encoded = encoded.replace(RGgmt_offset_now, SCgmt_offset_now);
encoded = encoded.replace(RGcalled_since_last_reset, SCcalled_since_last_reset);
encoded = encoded.replace(RGphone_code, SCphone_code);
@@ -15509,6 +15524,7 @@ $zi=2;
<input type="hidden" name="lead_id" id="lead_id" value="" />
<input type="hidden" name="list_id" id="list_id" value="" />
<input type="hidden" name="entry_list_id" id="entry_list_id" value="" />
<input type="hidden" name="list_name" id="list_name" value="" />
<input type="hidden" name="called_count" id="called_count" value="" />
<input type="hidden" name="rank" id="rank" value="" />
<input type="hidden" name="owner" id="owner" value="" />