Fixed extended alt dial bug in agent scripts

Changed agent screen to not delete session reservations at logout, instead ADMIN_keepalive will clear them out once a day at timeclock reset time
Changed callback purge to clear out ACTIVE callbacks older than month/week as well as LIVE

git-svn-id: svn://192.168.202.10@1202 3d104415-ff17-0410-8863-d5cf3c621b8a
This commit is contained in:
mattf
2009-08-12 05:44:35 +00:00
parent c0bbceebb6
commit cf282e76fe
8 changed files with 313 additions and 152 deletions
+5
View File
@@ -193,6 +193,11 @@ NOTE: Upgrading from 1.1.12-3 to 2.0.1 is at the bottom
in "state"(INCALL, READY, PAUSED, etc...) instead of being based upon
the time of the last call they handled.
49. Changed the ViciDial agent screen to not delete session reservations by
default at agent logout. Instead, the ADMIN_keepalive process will clear
out unused session reservations once a day at the timeclock reset time
as set in system_settings.
+75 -4
View File
@@ -8,6 +8,7 @@
#
# Other functions of this program:
# - Launches the timeclock auto-logout process
# - clear out non-used vicidial_conferences sessions
# - Generates Asterisk conf files and reloads Asterisk
# - Synchronizes the audio store files
# - Runs trigger processes at defined times
@@ -37,6 +38,7 @@
# 90630-2259 - Added vicidial_process_triggers functionality
# 90713-0140 - Changed direct dial phone extensions to failover to voicemail forwarder
# 90722-1102 - Added list reset by time option
# 90812-0053 - Added clear out non-used vicidial_conferences sessions
#
$DB=0; # Debug flag
@@ -49,7 +51,7 @@ $mon++;
$wtoday = $wday;
if ($mon < 10) {$mon = "0$mon";}
if ($mday < 10) {$mday = "0$mday";}
if ($hour < 10) {$Fhour = "0$hour";}
if ($hour < 10) {$hour = "0$hour";}
if ($min < 10) {$min = "0$min";}
if ($sec < 10) {$sec = "0$sec";}
$now_date = "$year-$mon-$mday $hour:$min:$sec";
@@ -478,10 +480,8 @@ if ($timeclock_auto_logout > 0)
################################################################################
##### START Creation of auto-generated conf files
##### START clear out non-used vicidial_conferences sessions
################################################################################
# default path to astguiclient configuration file:
@@ -525,6 +525,77 @@ use DBI;
$dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VARDB_user", "$VARDB_pass")
or die "Couldn't connect to database: " . DBI->errstr;
$timeclock_end_of_day_NOW=0;
### Grab system_settings values from the database
$stmtA = "SELECT count(*) from system_settings where timeclock_end_of_day LIKE \"%$reset_test%\";";
if ($DB) {print "|$stmtA|\n";}
$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;
$timeclock_end_of_day_NOW = "$aryA[0]";
}
$sthA->finish();
if ($timeclock_end_of_day_NOW > 0)
{
if ($DB) {print "Starting clear out non-used vicidial_conferences sessions process...\n";}
$stmtA = "SELECT conf_exten,extension from vicidial_conferences where server_ip='$server_ip' and leave_3way='0';";
if ($DB) {print "|$stmtA|\n";}
$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr;
$sthA->execute or die "executing: $stmtA ", $dbhA->errstr;
$VCexten_ct=$sthA->rows;
$rec_count=0;
while ($VCexten_ct > $rec_count)
{
@aryA = $sthA->fetchrow_array;
$PT_conf_extens[$rec_count] = $aryA[0];
$PT_extensions[$rec_count] = $aryA[1];
if ($DBX) {print "|$PT_conf_extens[$rec_count]|$PT_extensions[$rec_count]|\n";}
$rec_count++;
}
$sthA->finish();
$k=0;
while ($k < $rec_count)
{
$live_session=0;
$stmtA = "SELECT count(*) from vicidial_live_agents where conf_exten='$PT_conf_extens[$k]' and server_ip='$server_ip';";
$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;
$live_session = "$aryA[0]";
}
$sthA->finish();
if ($live_session < 1)
{
$stmtA = "UPDATE vicidial_conferences set extension='' where server_ip='$server_ip' and conf_exten='$PT_conf_extens[$k]';";
if($DBX){print STDERR "\n|$stmtA|\n";}
$affected_rows = $dbhA->do($stmtA); # or die "Couldn't execute query:|$stmtA|\n";
}
$k++;
}
}
################################################################################
##### END clear out non-used vicidial_conferences sessions
################################################################################
################################################################################
##### START Creation of auto-generated conf files
################################################################################
##### Get the settings from system_settings #####
$stmtA = "SELECT sounds_central_control_active,active_voicemail_server FROM system_settings;";
# print "$stmtA\n";
+63 -62
View File
@@ -1,6 +1,6 @@
#!/usr/bin/perl
#
# ADMIN_timeclock_auto_logout.pl version 2.0.5 *DBI-version*
# ADMIN_timeclock_auto_logout.pl version 2.2.0 *DBI-version*
#
# DESCRIPTION:
# forces logout of all users still logged into the timeclock
@@ -8,11 +8,12 @@
# This script is launched by the ADMIN_keepalive_ALL.pl script with the '9' flag
# defined in astguiclient.conf
#
# Copyright (C) 2008 Matt Florell <vicidial@gmail.com> LICENSE: AGPLv2
# Copyright (C) 2009 Matt Florell <vicidial@gmail.com> LICENSE: AGPLv2
#
# CHANGELOG
# 80526-0958 - First Build
# 80604-0733 - fixed minor bug in update
# 80604-0733 - Fixed minor bug in update
# 90812-0103 - Formatting fixes
#
# constants
@@ -38,47 +39,47 @@ $HHMM = "$hour$min";
### begin parsing run-time options ###
if (length($ARGV[0])>1)
{
{
$i=0;
while ($#ARGV >= $i)
{
$args = "$args $ARGV[$i]";
$i++;
}
{
$args = "$args $ARGV[$i]";
$i++;
}
if ($args =~ /--help/i)
{
print "allowed run time options(must stay in this order):\n [--debug] = debug\n [--debugX] = super debug\n [-t] = test\n [--force-run] = force run even if already run for the day\n\n";
exit;
}
{
print "allowed run time options(must stay in this order):\n [--debug] = debug\n [--debugX] = super debug\n [-t] = test\n [--force-run] = force run even if already run for the day\n\n";
exit;
}
else
{
{
if ($args =~ /--force-run/i)
{
$force_run=1;
print "\n----- FORCE RUN -----\n\n";
}
{
$force_run=1;
print "\n----- FORCE RUN -----\n\n";
}
if ($args =~ /--debug/i)
{
$DB=1;
print "\n----- DEBUG -----\n\n";
}
{
$DB=1;
print "\n----- DEBUG -----\n\n";
}
if ($args =~ /--debugX/i)
{
$DBX=1;
print "\n----- SUPER DEBUG -----\n\n";
}
{
$DBX=1;
print "\n----- SUPER DEBUG -----\n\n";
}
if ($args =~ /-t/i)
{
$T=1; $TEST=1;
print "\n-----TESTING -----\n\n";
{
$T=1; $TEST=1;
print "\n-----TESTING -----\n\n";
}
}
}
}
else
{
print "no command line options set\n";
}
{
print "no command line options set\n";
}
# default path to astguiclient configuration file:
$PATHconf = '/etc/astguiclient.conf';
@@ -135,13 +136,13 @@ $dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VA
$rec_count=0;
while ($sthArows > $rec_count)
{
@aryA = $sthA->fetchrow_array;
$DBvd_server_logs = "$aryA[0]";
$DBSERVER_GMT = "$aryA[1]";
if ($DBvd_server_logs =~ /Y/) {$SYSLOG = '1';}
else {$SYSLOG = '0';}
if (length($DBSERVER_GMT)>0) {$SERVER_GMT = $DBSERVER_GMT;}
$rec_count++;
@aryA = $sthA->fetchrow_array;
$DBvd_server_logs = "$aryA[0]";
$DBSERVER_GMT = "$aryA[1]";
if ($DBvd_server_logs =~ /Y/) {$SYSLOG = '1';}
else {$SYSLOG = '0';}
if (length($DBSERVER_GMT)>0) {$SERVER_GMT = $DBSERVER_GMT;}
$rec_count++;
}
$sthA->finish();
@@ -152,9 +153,9 @@ $dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VA
$sthArows=$sthA->rows;
if ($sthArows > 0)
{
@aryA = $sthA->fetchrow_array;
$timeclock_end_of_day = "$aryA[0]";
$timeclock_last_reset_date = "$aryA[1]";
@aryA = $sthA->fetchrow_array;
$timeclock_end_of_day = "$aryA[0]";
$timeclock_last_reset_date = "$aryA[1]";
}
$sthA->finish();
@@ -165,7 +166,7 @@ $dbhA = DBI->connect("DBI:mysql:$VARDB_database:$VARDB_server:$VARDB_port", "$VA
$nowtest = ($HHMM+0);
$logtest = ($timeclock_end_of_day+0);
if ( ($force_run > 0) || ( ($nowtest >= $logtest) && ($timeclock_last_reset_date ne "$file_date") ) )
{
{
@user=@MT;
### grab users that are currently logged-in to the timeclock
@@ -239,20 +240,20 @@ if ( ($force_run > 0) || ( ($nowtest >= $logtest) && ($timeclock_last_reset_date
$event_string = "SYSTEM SETTINGS UPDATE|$affected_rows|$stmtA|";
&event_logger;
}
}
else
{
print "cannot run: |$force_run|$HHMM($nowtest)|$timeclock_end_of_day($logtest)|$timeclock_last_reset_date|$file_date|\n";
}
{
print "cannot run: |$force_run|$HHMM($nowtest)|$timeclock_end_of_day($logtest)|$timeclock_last_reset_date|$file_date|\n";
}
if($DB)
{
### calculate time to run script ###
$secY = time();
$secZ = ($secY - $secT);
{
### calculate time to run script ###
$secY = time();
$secZ = ($secY - $secT);
if (!$q) {print "DONE. Script execution time in seconds: $secZ\n";}
}
if (!$q) {print "DONE. Script execution time in seconds: $secZ\n";}
}
$dbhA->disconnect();
@@ -261,15 +262,15 @@ exit;
sub event_logger
{
if ($SYSLOG)
{
### open the log file for writing ###
open(Lout, ">>$VDALOGfile")
|| die "Can't open $VDALOGfile: $!\n";
print Lout "$now_date|$event_string|\n";
close(Lout);
if ($SYSLOG)
{
### open the log file for writing ###
open(Lout, ">>$VDALOGfile")
|| die "Can't open $VDALOGfile: $!\n";
print Lout "$now_date|$event_string|\n";
close(Lout);
}
$event_string='';
}
$event_string='';
}
+64 -63
View File
@@ -22,36 +22,36 @@ $MT[0]='';
### begin parsing run-time options ###
if (length($ARGV[0])>1)
{
{
$i=0;
while ($#ARGV >= $i)
{
$args = "$args $ARGV[$i]";
$i++;
}
{
$args = "$args $ARGV[$i]";
$i++;
}
if ($args =~ /--help/i)
{
print "allowed run time options:\n [-t] = test\n [-debug] = verbose debug messages\n\n";
}
{
print "allowed run time options:\n [-t] = test\n [-debug] = verbose debug messages\n\n";
}
else
{
{
if ($args =~ /-debug/i)
{
$DB=1; # Debug flag
print "-- DEBUGGING ENABLED --\n\n";
}
{
$DB=1; # Debug flag
print "-- DEBUGGING ENABLED --\n\n";
}
if ($args =~ /-t/i)
{
$TEST=1;
$T=1;
{
$TEST=1;
$T=1;
}
}
}
}
else
{
# print "no command line options set\n";
}
{
# print "no command line options set\n";
}
### end parsing run-time options ###
# default path to astguiclient configuration file:
@@ -113,29 +113,29 @@ $sthArows=$sthA->rows;
$rec_count=0;
if ($sthArows > 0)
{
@aryA = $sthA->fetchrow_array;
$DBtelnet_host = "$aryA[0]";
$DBtelnet_port = "$aryA[1]";
$DBASTmgrUSERNAME = "$aryA[2]";
$DBASTmgrSECRET = "$aryA[3]";
$DBASTmgrUSERNAMEupdate = "$aryA[4]";
$DBASTmgrUSERNAMElisten = "$aryA[5]";
$DBASTmgrUSERNAMEsend = "$aryA[6]";
$DBmax_vicidial_trunks = "$aryA[7]";
$DBanswer_transfer_agent= "$aryA[8]";
$DBSERVER_GMT = "$aryA[9]";
$DBext_context = "$aryA[10]";
if ($DBtelnet_host) {$telnet_host = $DBtelnet_host;}
if ($DBtelnet_port) {$telnet_port = $DBtelnet_port;}
if ($DBASTmgrUSERNAME) {$ASTmgrUSERNAME = $DBASTmgrUSERNAME;}
if ($DBASTmgrSECRET) {$ASTmgrSECRET = $DBASTmgrSECRET;}
if ($DBASTmgrUSERNAMEupdate) {$ASTmgrUSERNAMEupdate = $DBASTmgrUSERNAMEupdate;}
if ($DBASTmgrUSERNAMElisten) {$ASTmgrUSERNAMElisten = $DBASTmgrUSERNAMElisten;}
if ($DBASTmgrUSERNAMEsend) {$ASTmgrUSERNAMEsend = $DBASTmgrUSERNAMEsend;}
if ($DBmax_vicidial_trunks) {$max_vicidial_trunks = $DBmax_vicidial_trunks;}
if ($DBanswer_transfer_agent) {$answer_transfer_agent = $DBanswer_transfer_agent;}
if ($DBSERVER_GMT) {$SERVER_GMT = $DBSERVER_GMT;}
if ($DBext_context) {$ext_context = $DBext_context;}
@aryA = $sthA->fetchrow_array;
$DBtelnet_host = "$aryA[0]";
$DBtelnet_port = "$aryA[1]";
$DBASTmgrUSERNAME = "$aryA[2]";
$DBASTmgrSECRET = "$aryA[3]";
$DBASTmgrUSERNAMEupdate = "$aryA[4]";
$DBASTmgrUSERNAMElisten = "$aryA[5]";
$DBASTmgrUSERNAMEsend = "$aryA[6]";
$DBmax_vicidial_trunks = "$aryA[7]";
$DBanswer_transfer_agent= "$aryA[8]";
$DBSERVER_GMT = "$aryA[9]";
$DBext_context = "$aryA[10]";
if ($DBtelnet_host) {$telnet_host = $DBtelnet_host;}
if ($DBtelnet_port) {$telnet_port = $DBtelnet_port;}
if ($DBASTmgrUSERNAME) {$ASTmgrUSERNAME = $DBASTmgrUSERNAME;}
if ($DBASTmgrSECRET) {$ASTmgrSECRET = $DBASTmgrSECRET;}
if ($DBASTmgrUSERNAMEupdate) {$ASTmgrUSERNAMEupdate = $DBASTmgrUSERNAMEupdate;}
if ($DBASTmgrUSERNAMElisten) {$ASTmgrUSERNAMElisten = $DBASTmgrUSERNAMElisten;}
if ($DBASTmgrUSERNAMEsend) {$ASTmgrUSERNAMEsend = $DBASTmgrUSERNAMEsend;}
if ($DBmax_vicidial_trunks) {$max_vicidial_trunks = $DBmax_vicidial_trunks;}
if ($DBanswer_transfer_agent) {$answer_transfer_agent = $DBanswer_transfer_agent;}
if ($DBSERVER_GMT) {$SERVER_GMT = $DBSERVER_GMT;}
if ($DBext_context) {$ext_context = $DBext_context;}
}
$sthA->finish();
@@ -163,14 +163,14 @@ if ($Tmday < 10) {$Tmday = "0$Tmday";}
if ($Thour < 10) {$Thour = "0$Thour";}
if ($Tmin < 10) {$Tmin = "0$Tmin";}
if ($Tsec < 10) {$Tsec = "0$Tsec";}
$TDSQLdate = "$Tyear-$Tmon-$Tmday $Thour:$Tmin:$Tsec";
$TDnum = "$Tyear$Tmon$Tmday$Thour$Tmin$Tsec";
$TDSQLdate = "$Tyear-$Tmon-$Tmday $Thour:$Tmin:$Tsec";
$TDnum = "$Tyear$Tmon$Tmday$Thour$Tmin$Tsec";
######################################################################
##### CLEAR vicidial_conferences ENTRIES IN LEAVE-3WAY FOR MORE THAN ONE HOUR
######################################################################
@PTextensions=@MT; @PT_conf_extens=@MT; @PTmessages=@MT; @PTold_messages=@MT; @NEW_messages=@MT; @OLD_messages=@MT;
$stmtA = "SELECT conf_exten from vicidial_conferences where server_ip='$server_ip' and leave_3way='1' and leave_3way_datetime < \"$TDSQLdate\";";
$stmtA = "SELECT conf_exten,extension from vicidial_conferences where server_ip='$server_ip' and leave_3way='1' and leave_3way_datetime < \"$TDSQLdate\";";
if ($DB) {print "|$stmtA|\n";}
$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr;
$sthA->execute or die "executing: $stmtA ", $dbhA->errstr;
@@ -180,7 +180,8 @@ while ($sthArows > $rec_count)
{
@aryA = $sthA->fetchrow_array;
$PT_conf_extens[$rec_count] = "$aryA[0]";
if ($DB) {print "|$PT_conf_extens[$rec_count]|$PTextensions[$rec_count]|\n";}
$PT_extensions[$rec_count] = "$aryA[0]";
if ($DB) {print "|$PT_conf_extens[$rec_count]|$PT_extensions[$rec_count]|\n";}
$rec_count++;
}
$sthA->finish();
@@ -217,13 +218,13 @@ $sthArows=$sthA->rows;
$rec_count=0;
while ($sthArows > $rec_count)
{
@aryA = $sthA->fetchrow_array;
$PTextensions[$rec_count] = "$aryA[0]";
$PT_conf_extens[$rec_count] = "$aryA[1]";
if ($DB) {print "|$PT_conf_extens[$rec_count]|$PTextensions[$rec_count]|\n";}
$rec_count++;
}
$sthA->finish();
@aryA = $sthA->fetchrow_array;
$PTextensions[$rec_count] = "$aryA[0]";
$PT_conf_extens[$rec_count] = "$aryA[1]";
if ($DB) {print "|$PT_conf_extens[$rec_count]|$PTextensions[$rec_count]|\n";}
$rec_count++;
}
$sthA->finish();
if (!$telnet_port) {$telnet_port = '5038';}
@@ -333,13 +334,13 @@ $sthArows=$sthA->rows;
$rec_count=0;
while ($sthArows > $rec_count)
{
@aryA = $sthA->fetchrow_array;
$PTextensions[$rec_count] = "$aryA[0]";
$PT_conf_extens[$rec_count] = "$aryA[1]";
if ($DB) {print "|$PT_conf_extens[$rec_count]|$PTextensions[$rec_count]|\n";}
$rec_count++;
}
$sthA->finish();
@aryA = $sthA->fetchrow_array;
$PTextensions[$rec_count] = "$aryA[0]";
$PT_conf_extens[$rec_count] = "$aryA[1]";
if ($DB) {print "|$PT_conf_extens[$rec_count]|$PTextensions[$rec_count]|\n";}
$rec_count++;
}
$sthA->finish();
if (!$telnet_port) {$telnet_port = '5038';}
@@ -348,8 +349,8 @@ $t = new Net::Telnet (Port => $telnet_port,
Prompt => '/.*[\$%#>] $/',
Output_record_separator => '',);
#$fh = $t->dump_log("$telnetlog"); # uncomment for telnet log
if (length($ASTmgrUSERNAMEsend) > 3) {$telnet_login = $ASTmgrUSERNAMEsend;}
else {$telnet_login = $ASTmgrUSERNAME;}
if (length($ASTmgrUSERNAMEsend) > 3) {$telnet_login = $ASTmgrUSERNAMEsend;}
else {$telnet_login = $ASTmgrUSERNAME;}
$t->open("$telnet_host");
$t->waitfor('/[01]\n$/'); # print login
+9 -9
View File
@@ -193,13 +193,13 @@ make install
cd /usr/local
wget http://us2.php.net/distributions/php-5.2.9.tar.gz
gunzip php-5.2.9.tar.gz
tar xvf php-5.2.9.tar
wget http://mirror.nyi.net/apache/httpd/httpd-2.2.11.tar.gz
gunzip httpd-2.2.11.tar.gz
tar xvf httpd-2.2.11.tar
cd httpd-2.2.11
wget http://us2.php.net/distributions/php-5.2.10.tar.gz
gunzip php-5.2.10.tar.gz
tar xvf php-5.2.10.tar
wget http://mirror.nyi.net/apache/httpd/httpd-2.2.13.tar.gz
gunzip httpd-2.2.13.tar.gz
tar xvf httpd-2.2.13.tar
cd httpd-2.2.13
make clean
./configure --prefix=/usr/local/apache2 --enable-ssl --enable-setenvif --enable-so --with-apxs2 --enable-dav --enable-maintainer-mode --with-ssl=/usr/local/ssl
make
@@ -213,9 +213,9 @@ openssl req -new -x509 -days 1200 -keyout /usr/local/apache2/conf/ssl.key/server
openssl rsa -in /usr/local/apache2/conf/ssl.key/server.key.cpy -out /usr/local/apache2/conf/ssl.key/server.key
cd ../php-5.2.9
cd ../php-5.2.10
make clean
./configure --with-mysql=/usr/local/mysql --enable-inline-optimization --enable-memory-limit --enable-track-vars --enable-libgcc --enable-sysvsem --with-openssl=/usr/local/ssl --with-apxs2=/usr/local/apache2/bin/apxs --with-zlib
./configure --with-mysql=/usr/local/mysql --enable-inline-optimization --enable-memory-limit --enable-track-vars --enable-libgcc --enable-sysvsem --with-openssl=/usr/local/ssl --with-apxs2=/usr/local/apache2/bin/apxs --with-zlib --enable-mbstring
make
make install
cp php.ini-dist /usr/local/lib/php.ini
+85 -3
View File
@@ -383,6 +383,8 @@ if (isset($_GET["vtiger_callback_id"])) {$vtiger_callback_id=$_GET["vtiger_ca
elseif (isset($_POST["vtiger_callback_id"])) {$vtiger_callback_id=$_POST["vtiger_callback_id"];}
if (isset($_GET["dial_method"])) {$dial_method=$_GET["dial_method"];}
elseif (isset($_POST["dial_method"])) {$dial_method=$_POST["dial_method"];}
if (isset($_GET["no_delete_sessions"])) {$no_delete_sessions=$_GET["no_delete_sessions"];}
elseif (isset($_POST["no_delete_sessions"])) {$no_delete_sessions=$_POST["no_delete_sessions"];}
header ("Content-type: text/html; charset=utf-8");
@@ -3278,7 +3280,46 @@ if ($ACTION == 'VDADcheckINCOMING')
$dialed_label =$row[2];
$call_type =$row[3];
if ( ($dialed_number != $phone_number) and (strlen($dialed_label) < 3) )
{$dialed_label = 'ALT';}
{
if ($dialed_number != $alt_phone)
{
if ($dialed_number != $address3)
{
$dialed_label = 'X1';
$stmt = "SELECT alt_phone_count from vicidial_list_alt_phones where lead_id='$lead_id' and phone_number = '$dialed_number' order by alt_phone_count limit 1;";
if ($DB) {echo "$stmt\n";}
$rslt=mysql_query($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);}
$VDAP_cid_ct = mysql_num_rows($rslt);
if ($VDACP_cid_ct > 0)
{
$row=mysql_fetch_row($rslt);
$Xalt_phone_count =$row[0];
$stmt = "SELECT count(*) from vicidial_list_alt_phones where lead_id='$lead_id';";
if ($DB) {echo "$stmt\n";}
$rslt=mysql_query($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);}
$VDAPct_cid_ct = mysql_num_rows($rslt);
if ($VDACPct_cid_ct > 0)
{
$row=mysql_fetch_row($rslt);
$COUNTalt_phone_count =$row[0];
if ($COUNTalt_phone_count <= $Xalt_phone_count)
{$dialed_label = 'XLAST';}
else
{$dialed_label = "X$Xalt_phone_count";}
}
}
}
else
{$dialed_label = 'ADDR3';}
}
else
{$dialed_label = 'ALT';}
}
}
else
{
@@ -3915,7 +3956,7 @@ if ($ACTION == 'updateDISPO')
$user_group = "$row[0]";
}
$stmt = "SELECT list_id,phone_number,phone_code FROM vicidial_list where lead_id='$lead_id';";
$stmt = "SELECT list_id,phone_number,phone_code,alt_phone,address3 FROM vicidial_list where lead_id='$lead_id';";
$rslt=mysql_query($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00216',$user,$server_ip,$session_name,$one_mysql_log);}
if ($DB) {echo "$stmt\n";}
@@ -3928,6 +3969,8 @@ if ($ACTION == 'updateDISPO')
{
$VLphone_number = "$row[1]";
$VLalt = 'MAIN';
$VLalt_phone = "$row[3]";
$VLaddress3 = "$row[4]";
}
else
{
@@ -3935,7 +3978,46 @@ if ($ACTION == 'updateDISPO')
if ($phone_number == "$row[1]")
{$VLalt = 'MAIN';}
else
{$VLalt = 'ALT';}
{
if ($phone_number != $VLalt_phone)
{
if ($phone_number != $VLaddress3)
{
$VLalt = 'X1';
$stmt = "SELECT alt_phone_count from vicidial_list_alt_phones where lead_id='$lead_id' and phone_number = '$dialed_number' order by alt_phone_count limit 1;";
if ($DB) {echo "$stmt\n";}
$rslt=mysql_query($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);}
$VDAP_cid_ct = mysql_num_rows($rslt);
if ($VDACP_cid_ct > 0)
{
$row=mysql_fetch_row($rslt);
$Xalt_phone_count =$row[0];
$stmt = "SELECT count(*) from vicidial_list_alt_phones where lead_id='$lead_id';";
if ($DB) {echo "$stmt\n";}
$rslt=mysql_query($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00XXX',$user,$server_ip,$session_name,$one_mysql_log);}
$VDAPct_cid_ct = mysql_num_rows($rslt);
if ($VDACPct_cid_ct > 0)
{
$row=mysql_fetch_row($rslt);
$COUNTalt_phone_count =$row[0];
if ($COUNTalt_phone_count <= $Xalt_phone_count)
{$VLalt = 'XLAST';}
else
{$VLalt = "X$Xalt_phone_count";}
}
}
}
else
{$VLalt = 'ADDR3';}
}
else
{$VLalt = 'ALT';}
}
}
if (strlen($phone_code)<1)
{$VLphone_code = "$row[2]";}
+4 -3
View File
@@ -244,10 +244,11 @@
# 90729-0647 - Added agent_display_dialable_leads option
# 90730-0145 - Fixed bugs in re-queue and INBOUND_MAN with blended selected
# 90808-0117 - Fixed manual dial calls today bug, added last_state_change to vicidial_live_agents
# 90812-0046 - Added no-delete-sessions = 1 as default, unused sessions cleared out at timeclock end of day
#
$version = '2.2.0-222';
$build = '90808-0117';
$version = '2.2.0-223';
$build = '90812-0046';
$mel=1; # Mysql Error Log enabled = 1
$mysql_log_count=61;
$one_mysql_log=0;
@@ -368,7 +369,7 @@ $show_campname_pulldown = '1'; # set to 1 to show campaign name on login pulldow
$webform_sessionname = '1'; # set to 1 to include the session_name in webform URL
$local_consult_xfers = '1'; # set to 1 to send consultative transfers from original server
$clientDST = '1'; # set to 1 to check for DST on server for agent time
$no_delete_sessions = '0'; # set to 1 to not delete sessions at logout
$no_delete_sessions = '1'; # set to 1 to not delete sessions at logout
$volumecontrol_active = '1'; # set to 1 to allow agents to alter volume of channels
$PreseT_DiaL_LinKs = '0'; # set to 1 to show a DIAL link for Dial Presets
$LogiNAJAX = '1'; # set to 1 to do lookups on campaigns for login
+8 -8
View File
@@ -21332,13 +21332,13 @@ if ($ADD==8)
{
if ($SUB==89)
{
$stmt="UPDATE vicidial_callbacks SET status='INACTIVE' where user='$user' and status='LIVE' and callback_time < '$past_month_date';";
$stmt="UPDATE vicidial_callbacks SET status='INACTIVE' where user='$user' and status IN('LIVE','ACTIVE') and callback_time < '$past_month_date';";
$rslt=mysql_query($stmt, $link);
echo "<br>User($user) callback listings LIVE for more than one month have been made INACTIVE\n";
}
if ($SUB==899)
{
$stmt="UPDATE vicidial_callbacks SET status='INACTIVE' where user='$user' and status='LIVE' and callback_time < '$past_week_date';";
$stmt="UPDATE vicidial_callbacks SET status='INACTIVE' where user='$user' and status IN('LIVE','ACTIVE') and callback_time < '$past_week_date';";
$rslt=mysql_query($stmt, $link);
echo "<br>User($user) callback listings LIVE for more than one week have been made INACTIVE\n";
}
@@ -21363,13 +21363,13 @@ if ($ADD==81)
{
if ($SUB==89)
{
$stmt="UPDATE vicidial_callbacks SET status='INACTIVE' where campaign_id='$campaign_id' and status='LIVE' and callback_time < '$past_month_date';";
$stmt="UPDATE vicidial_callbacks SET status='INACTIVE' where campaign_id='$campaign_id' and status IN('LIVE','ACTIVE') and callback_time < '$past_month_date';";
$rslt=mysql_query($stmt, $link);
echo "<br>campaign($campaign_id) callback listings LIVE for more than one month have been made INACTIVE\n";
}
if ($SUB==899)
{
$stmt="UPDATE vicidial_callbacks SET status='INACTIVE' where campaign_id='$campaign_id' and status='LIVE' and callback_time < '$past_week_date';";
$stmt="UPDATE vicidial_callbacks SET status='INACTIVE' where campaign_id='$campaign_id' and status IN('LIVE','ACTIVE') and callback_time < '$past_week_date';";
$rslt=mysql_query($stmt, $link);
echo "<br>campaign($campaign_id) callback listings LIVE for more than one week have been made INACTIVE\n";
}
@@ -21394,13 +21394,13 @@ if ($ADD==811)
{
if ($SUB==89)
{
$stmt="UPDATE vicidial_callbacks SET status='INACTIVE' where list_id='$list_id' and status='LIVE' and callback_time < '$past_month_date';";
$stmt="UPDATE vicidial_callbacks SET status='INACTIVE' where list_id='$list_id' and status IN('LIVE','ACTIVE') and callback_time < '$past_month_date';";
$rslt=mysql_query($stmt, $link);
echo "<br>list($list_id) callback listings LIVE for more than one month have been made INACTIVE\n";
}
if ($SUB==899)
{
$stmt="UPDATE vicidial_callbacks SET status='INACTIVE' where list_id='$list_id' and status='LIVE' and callback_time < '$past_week_date';";
$stmt="UPDATE vicidial_callbacks SET status='INACTIVE' where list_id='$list_id' and status IN('LIVE','ACTIVE') and callback_time < '$past_week_date';";
$rslt=mysql_query($stmt, $link);
echo "<br>list($list_id) callback listings LIVE for more than one week have been made INACTIVE\n";
}
@@ -21425,13 +21425,13 @@ if ($ADD==8111)
{
if ($SUB==89)
{
$stmt="UPDATE vicidial_callbacks SET status='INACTIVE' where user_group='$user_group' and status='LIVE' and callback_time < '$past_month_date';";
$stmt="UPDATE vicidial_callbacks SET status='INACTIVE' where user_group='$user_group' and status IN('LIVE','ACTIVE') and callback_time < '$past_month_date';";
$rslt=mysql_query($stmt, $link);
echo "<br>user group($user_group) callback listings LIVE for more than one month have been made INACTIVE\n";
}
if ($SUB==899)
{
$stmt="UPDATE vicidial_callbacks SET status='INACTIVE' where user_group='$user_group' and status='LIVE' and callback_time < '$past_week_date';";
$stmt="UPDATE vicidial_callbacks SET status='INACTIVE' where user_group='$user_group' and status IN('LIVE','ACTIVE') and callback_time < '$past_week_date';";
$rslt=mysql_query($stmt, $link);
echo "<br>user group($user_group) callback listings LIVE for more than one week have been made INACTIVE\n";
}