diff --git a/agc_2-X/trunk/bin/AST_manager_listen.pl b/agc_2-X/trunk/bin/AST_manager_listen.pl index da794f40..7d8f71c1 100644 --- a/agc_2-X/trunk/bin/AST_manager_listen.pl +++ b/agc_2-X/trunk/bin/AST_manager_listen.pl @@ -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; } } diff --git a/agc_2-X/trunk/bin/AST_send_URL.pl b/agc_2-X/trunk/bin/AST_send_URL.pl index cd2ba770..d9fad174 100644 --- a/agc_2-X/trunk/bin/AST_send_URL.pl +++ b/agc_2-X/trunk/bin/AST_send_URL.pl @@ -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 LICENSE: AGPLv2 +# Copyright (C) 2015 Matt Florell 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; diff --git a/agc_2-X/trunk/docs/CALL_URL_FEATURES.txt b/agc_2-X/trunk/docs/CALL_URL_FEATURES.txt index 57a96fde..95bac3d6 100644 --- a/agc_2-X/trunk/docs/CALL_URL_FEATURES.txt +++ b/agc_2-X/trunk/docs/CALL_URL_FEATURES.txt @@ -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): diff --git a/agc_2-X/trunk/www/agc/vdc_db_query.php b/agc_2-X/trunk/www/agc/vdc_db_query.php index 29ebeab4..2f261a6e 100644 --- a/agc_2-X/trunk/www/agc/vdc_db_query.php +++ b/agc_2-X/trunk/www/agc/vdc_db_query.php @@ -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) diff --git a/agc_2-X/trunk/www/agc/vdc_form_display.php b/agc_2-X/trunk/www/agc/vdc_form_display.php index 992e2dbe..1483df3e 100644 --- a/agc_2-X/trunk/www/agc/vdc_form_display.php +++ b/agc_2-X/trunk/www/agc/vdc_form_display.php @@ -1,7 +1,7 @@ LICENSE: AGPLv2 +# Copyright (C) 2015 Matt Florell LICENSE: AGPLv2 # # This script is designed display the contents of the FORM tab in the agent # interface, as well as take submission of the form submission when the agent @@ -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;} diff --git a/agc_2-X/trunk/www/agc/vicidial.php b/agc_2-X/trunk/www/agc/vicidial.php index 59d79fdc..cc185533 100644 --- a/agc_2-X/trunk/www/agc/vicidial.php +++ b/agc_2-X/trunk/www/agc/vicidial.php @@ -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; +