2006-06-08 snapshot
git-svn-id: svn://192.168.202.10@8 3d104415-ff17-0410-8863-d5cf3c621b8a
@@ -40,6 +40,7 @@
|
||||
# 50812-0957 - corrected max_trunks logic, added update of server every 25 sec
|
||||
# 60120-1522 - corrected time error for hour variable, caused agi problems
|
||||
# 60427-1223 - Fixed Blended in/out CLOSER campaign issue
|
||||
# 60608-1134 - Altered vac table field of call_type for IN OUT distinction
|
||||
#
|
||||
|
||||
|
||||
@@ -181,6 +182,7 @@ while($one_day_interval > 0)
|
||||
@DBIPexistcalls=@MT;
|
||||
@DBIPgoalcalls=@MT;
|
||||
@DBIPmakecalls=@MT;
|
||||
@DBIPclosercamp=@MT;
|
||||
|
||||
$active_line_counter=0;
|
||||
$user_counter=0;
|
||||
@@ -237,7 +239,7 @@ while($one_day_interval > 0)
|
||||
|
||||
### grab the dial_level and multiply by active agents to get your goalcalls
|
||||
$DBIPadlevel[$user_CIPct]=0;
|
||||
$dbhA->query("SELECT auto_dial_level,local_call_time,dial_timeout,dial_prefix,campaign_cid,active,campaign_vdad_exten FROM vicidial_campaigns where campaign_id='$DBIPcampaign[$user_CIPct]'");
|
||||
$dbhA->query("SELECT auto_dial_level,local_call_time,dial_timeout,dial_prefix,campaign_cid,active,campaign_vdad_exten,closer_campaigns FROM vicidial_campaigns where campaign_id='$DBIPcampaign[$user_CIPct]'");
|
||||
if ($dbhA->has_selected_record)
|
||||
{
|
||||
$iter=$dbhA->create_record_iterator;
|
||||
@@ -250,6 +252,7 @@ while($one_day_interval > 0)
|
||||
$DBIPcampaigncid[$user_CIPct] = "$record->[4]";
|
||||
$DBIPactive[$user_CIPct] = "$record->[5]";
|
||||
$DBIPvdadexten[$user_CIPct] = "$record->[6]";
|
||||
$DBIPclosercamp[$user_CIPct] = "$record->[7]";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -277,8 +280,18 @@ while($one_day_interval > 0)
|
||||
### subtract that number from goalcalls to determine how many new
|
||||
### calls need to be placed in this loop
|
||||
if ($DBIPcampaign[$user_CIPct] =~ /CLOSER/)
|
||||
{$campaign_query = "(campaign_id LIKE \"CL%\" or campaign_id='$DBIPcampaign[$user_CIPct]')";}
|
||||
else {$campaign_query = "campaign_id='$DBIPcampaign[$user_CIPct]'";}
|
||||
{
|
||||
if (length($DBIPclosercamp[$user_CIPct]) > 2)
|
||||
{
|
||||
$DBIPclosercamp[$user_CIPct] =~ s/^ | -$//gi;
|
||||
$DBIPclosercamp[$user_CIPct] =~ s/ /','/gi;
|
||||
$DBIPclosercamp[$user_CIPct] = "'$DBIPclosercamp[$user_CIPct]'";
|
||||
}
|
||||
else {$DBIPclosercamp[$user_CIPct]=''}
|
||||
|
||||
$campaign_query = "( (call_type='IN' and campaign_id IN($DBIPclosercamp[$user_CIPct])) or (campaign_id='$DBIPcampaign[$user_CIPct]' and call_type='OUT') )";
|
||||
}
|
||||
else {$campaign_query = "(campaign_id='$DBIPcampaign[$user_CIPct]' and call_type='OUT')";}
|
||||
$dbhA->query("SELECT count(*) FROM vicidial_auto_calls where $campaign_query and server_ip='$DBIPaddress[$user_CIPct]' and status IN('SENT','RINGING','LIVE','XFER','CLOSER');");
|
||||
if ($dbhA->has_selected_record)
|
||||
{
|
||||
@@ -511,7 +524,7 @@ while($one_day_interval > 0)
|
||||
&event_logger;
|
||||
|
||||
### insert a SENT record to the vicidial_auto_calls table
|
||||
$stmtA = "INSERT INTO vicidial_auto_calls values('','$DBIPaddress[$user_CIPct]','$DBIPcampaign[$user_CIPct]','SENT','$lead_id','','$VqueryCID','','$phone_code','$phone_number','$SQLdate')";
|
||||
$stmtA = "INSERT INTO vicidial_auto_calls (server_ip,campaign_id,status,lead_id,callerid,phone_code,phone_number,call_time,call_type) values('$DBIPaddress[$user_CIPct]','$DBIPcampaign[$user_CIPct]','SENT','$lead_id','$VqueryCID','$phone_code','$phone_number','$SQLdate','OUT')";
|
||||
$dbhA->query($stmtA);
|
||||
|
||||
### sleep for a tenth of a second to not flood the server with new calls
|
||||
|
||||
@@ -0,0 +1,336 @@
|
||||
#!/usr/bin/perl
|
||||
|
||||
# AST_agent_week.pl
|
||||
#
|
||||
# This script is designed to gather stats for all agent activity over the course
|
||||
# of a week(Sunday to Saturday) and print it in an ASCI text file to be placed
|
||||
# on a web server for viewing.
|
||||
#
|
||||
# CHANGES
|
||||
# 60517-1100 - First version
|
||||
#
|
||||
|
||||
$txt = '.txt';
|
||||
$US = '_';
|
||||
$MT[0] = '';
|
||||
|
||||
### begin parsing run-time options ###
|
||||
if (length($ARGV[0])>1)
|
||||
{
|
||||
$i=0;
|
||||
while ($#ARGV >= $i)
|
||||
{
|
||||
$args = "$args $ARGV[$i]";
|
||||
$i++;
|
||||
}
|
||||
|
||||
if ($args =~ /--help/i)
|
||||
{
|
||||
print "allowed run time options:\n [-q] = quiet\n [-t] = test\n\n";
|
||||
exit;
|
||||
}
|
||||
else
|
||||
{
|
||||
if ($args =~ /--debug/i)
|
||||
{
|
||||
$DB=1;
|
||||
print "\n-----DEBUG MODE-----\n\n";
|
||||
}
|
||||
if ($args =~ /-q/i)
|
||||
{
|
||||
$q=1; $Q=1;
|
||||
}
|
||||
if ($args =~ /-t/i)
|
||||
{
|
||||
$T=1; $TEST=1;
|
||||
print "\n-----TESTING-----\n\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
print "no command line options set\n";
|
||||
}
|
||||
### end parsing run-time options ###
|
||||
|
||||
|
||||
$secX = time();
|
||||
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
|
||||
$year = ($year + 1900);
|
||||
$mon++;
|
||||
if ($mon < 10) {$mon = "0$mon";}
|
||||
if ($mday < 10) {$mday = "0$mday";}
|
||||
if ($hour < 10) {$hour = "0$hour";}
|
||||
if ($min < 10) {$min = "0$min";}
|
||||
if ($sec < 10) {$sec = "0$sec";}
|
||||
$filedate = "$year$mon$mday-$hour$min$sec";
|
||||
$ABIfiledate = "$mon-$mday-$year$us$hour$min$sec";
|
||||
$shipdate = "$year-$mon-$mday";
|
||||
$datestamp = "$year/$mon/$mday $hour:$min";
|
||||
|
||||
$STARTtarget = ($secX - (86400 * $wday));
|
||||
($Ssec,$Smin,$Shour,$Smday,$Smon,$Syear,$Swday,$Syday,$Sisdst) = localtime($STARTtarget);
|
||||
$Syear = ($Syear + 1900); $Smon++;
|
||||
if ($Smon < 10) {$Smon = "0$Smon";}
|
||||
if ($Smday < 10) {$Smday = "0$Smday";}
|
||||
$START_week = (($Syday/7)+1); $START_week = sprintf("%2d", $START_week);
|
||||
$STARTtarget_date = "$Syear-$Smon-$Smday";
|
||||
|
||||
$ENDtarget = ($STARTtarget + (86400 * 6));
|
||||
($Ssec,$Smin,$Shour,$Smday,$Smon,$Syear,$Swday,$Syday,$Sisdst) = localtime($ENDtarget);
|
||||
$Syear = ($Syear + 1900); $Smon++;
|
||||
if ($Smon < 10) {$Smon = "0$Smon";}
|
||||
if ($Smday < 10) {$Smday = "0$Smday";}
|
||||
$ENDtarget_date = "$Syear-$Smon-$Smday";
|
||||
|
||||
$PAST_STARTtarget = ($STARTtarget - (86400 * 7));
|
||||
($Ssec,$Smin,$Shour,$Smday,$Smon,$Syear,$Swday,$Syday,$Sisdst) = localtime($PAST_STARTtarget);
|
||||
$Syear = ($Syear + 1900); $Smon++;
|
||||
if ($Smon < 10) {$Smon = "0$Smon";}
|
||||
if ($Smday < 10) {$Smday = "0$Smday";}
|
||||
$PAST_START_week = (($Syday/7)+1); $PAST_START_week = sprintf("%2d", $PAST_START_week);
|
||||
$PAST_STARTtarget_date = "$Syear-$Smon-$Smday";
|
||||
|
||||
$PAST_ENDtarget = ($ENDtarget - (86400 * 7));
|
||||
($Ssec,$Smin,$Shour,$Smday,$Smon,$Syear,$Swday,$Syday,$Sisdst) = localtime($PAST_ENDtarget);
|
||||
$Syear = ($Syear + 1900); $Smon++;
|
||||
if ($Smon < 10) {$Smon = "0$Smon";}
|
||||
if ($Smday < 10) {$Smday = "0$Smday";}
|
||||
$PAST_ENDtarget_date = "$Syear-$Smon-$Smday";
|
||||
|
||||
$PAST_date[0] = $PAST_STARTtarget_date;
|
||||
$PAST_day[0] = 'Sunday ';
|
||||
$PAST_date[6] = $PAST_ENDtarget_date;
|
||||
$PAST_day[6] = 'Saturday ';
|
||||
|
||||
$PAST_Mondaytarget = ($STARTtarget - (86400 * 6));
|
||||
($Ssec,$Smin,$Shour,$Smday,$Smon,$Syear,$Swday,$Syday,$Sisdst) = localtime($PAST_Mondaytarget);
|
||||
$Syear = ($Syear + 1900); $Smon++;
|
||||
if ($Smon < 10) {$Smon = "0$Smon";}
|
||||
if ($Smday < 10) {$Smday = "0$Smday";}
|
||||
$PAST_date[1] = "$Syear-$Smon-$Smday";
|
||||
$PAST_day[1] = 'Monday ';
|
||||
|
||||
$PAST_Tuesdaytarget = ($STARTtarget - (86400 * 5));
|
||||
($Ssec,$Smin,$Shour,$Smday,$Smon,$Syear,$Swday,$Syday,$Sisdst) = localtime($PAST_Tuesdaytarget);
|
||||
$Syear = ($Syear + 1900); $Smon++;
|
||||
if ($Smon < 10) {$Smon = "0$Smon";}
|
||||
if ($Smday < 10) {$Smday = "0$Smday";}
|
||||
$PAST_date[2] = "$Syear-$Smon-$Smday";
|
||||
$PAST_day[2] = 'Tuesday ';
|
||||
|
||||
$PAST_Wednesdaytarget = ($STARTtarget - (86400 * 4));
|
||||
($Ssec,$Smin,$Shour,$Smday,$Smon,$Syear,$Swday,$Syday,$Sisdst) = localtime($PAST_Wednesdaytarget);
|
||||
$Syear = ($Syear + 1900); $Smon++;
|
||||
if ($Smon < 10) {$Smon = "0$Smon";}
|
||||
if ($Smday < 10) {$Smday = "0$Smday";}
|
||||
$PAST_date[3] = "$Syear-$Smon-$Smday";
|
||||
$PAST_day[3] = 'Wednesday';
|
||||
|
||||
$PAST_Thursdaytarget = ($STARTtarget - (86400 * 3));
|
||||
($Ssec,$Smin,$Shour,$Smday,$Smon,$Syear,$Swday,$Syday,$Sisdst) = localtime($PAST_Thursdaytarget);
|
||||
$Syear = ($Syear + 1900); $Smon++;
|
||||
if ($Smon < 10) {$Smon = "0$Smon";}
|
||||
if ($Smday < 10) {$Smday = "0$Smday";}
|
||||
$PAST_date[4] = "$Syear-$Smon-$Smday";
|
||||
$PAST_day[4] = 'Thursday ';
|
||||
|
||||
$PAST_Fridaytarget = ($STARTtarget - (86400 * 2));
|
||||
($Ssec,$Smin,$Shour,$Smday,$Smon,$Syear,$Swday,$Syday,$Sisdst) = localtime($PAST_Fridaytarget);
|
||||
$Syear = ($Syear + 1900); $Smon++;
|
||||
if ($Smon < 10) {$Smon = "0$Smon";}
|
||||
if ($Smday < 10) {$Smday = "0$Smday";}
|
||||
$PAST_date[5] = "$Syear-$Smon-$Smday";
|
||||
$PAST_day[5] = 'Friday ';
|
||||
|
||||
print "\n\n\n\n\n\n\n\n\n\n\n\n-- AST_agent_week.pl --\n\n";
|
||||
print "This program is designed to print stats to a file for agents' activity for the previous week. \n\n";
|
||||
|
||||
$TLoutfile = '';
|
||||
$TLoutfile .= "TODAY: $shipdate\n";
|
||||
$TLoutfile .= "THIS WEEK: week $START_week $STARTtarget_date - $ENDtarget_date\n";
|
||||
$TLoutfile .= "LAST WEEK: week $PAST_START_week $PAST_STARTtarget_date - $PAST_ENDtarget_date\n\n";
|
||||
|
||||
#$h=0;
|
||||
#foreach(@PAST_date)
|
||||
#{
|
||||
#$TLoutfile .= "$PAST_day[$h] $PAST_date[$h]\n";
|
||||
#$h++;
|
||||
#}
|
||||
|
||||
#print "$TLoutfile";
|
||||
|
||||
|
||||
$outfile = "AGENT_HOURS_$PAST_STARTtarget_date$US$PAST_ENDtarget_date$txt";
|
||||
|
||||
#$dir = '/usr/local/apache2/htdocs';
|
||||
$dir = '/home/www/htdocs';
|
||||
|
||||
### open the X out file for writing ###
|
||||
open(out, ">$dir/vicidial/agent_reports/$outfile")
|
||||
|| die "Can't open $outfile: $!\n";
|
||||
|
||||
### Make sure this file is in a libs path or put the absolute path to it
|
||||
require("/home/cron/AST_SERVER_conf.pl"); # local configuration file
|
||||
|
||||
if (!$DB_port) {$DB_port='3306';}
|
||||
|
||||
use DBI;
|
||||
|
||||
$dbhA = DBI->connect("DBI:mysql:$DB_database:$DB_server:$DB_port", "$DB_user", "$DB_pass")
|
||||
or die "Couldn't connect to database: " . DBI->errstr;
|
||||
|
||||
$dbhB = DBI->connect("DBI:mysql:$DB_database:$DB_server:$DB_port", "$DB_user", "$DB_pass")
|
||||
or die "Couldn't connect to database: " . DBI->errstr;
|
||||
|
||||
#$vicidial_agent_log = 'vicidial_agent_log_archive';
|
||||
$vicidial_agent_log = 'vicidial_agent_log';
|
||||
|
||||
###########################################################################
|
||||
########### PAST WEEK STAT GATHERING LOOP #################################
|
||||
###########################################################################
|
||||
$h=0;
|
||||
foreach(@PAST_date)
|
||||
{
|
||||
print out "\n$PAST_day[$h] $PAST_date[$h]\n\n";
|
||||
print out "AGENT USER CALLS TALK PAUSE WAIT DISPO ACTIVE LOGTIME FIRST LAST \n";
|
||||
print "\n$PAST_day[$h] $PAST_date[$h]\n\n";
|
||||
print "AGENT USER CALLS TALK PAUSE WAIT DISPO ACTIVE LOGTIME FIRST LAST \n";
|
||||
|
||||
$stmtA = "select count(*) as calls, full_name,vicidial_users.user,sum(talk_sec),sum(pause_sec),sum(wait_sec),sum(dispo_sec) from vicidial_users,$vicidial_agent_log where event_time <= '$PAST_date[$h] 23:59:59' and event_time >= '$PAST_date[$h] 00:00:00' and vicidial_users.user=$vicidial_agent_log.user and pause_sec<48800 and wait_sec<48800 and talk_sec<48800 and dispo_sec<48800 group by vicidial_users.user order by full_name limit 10000;";
|
||||
$sthA = $dbhA->prepare($stmtA) or die "preparing: ",$dbhA->errstr;
|
||||
$sthA->execute or die "executing: $stmtA ", $dbhA->errstr;
|
||||
$sthArows=$sthA->rows;
|
||||
$rec_count=0;
|
||||
while ($sthArows > $rec_count)
|
||||
{
|
||||
@aryA = $sthA->fetchrow_array;
|
||||
|
||||
$calls = sprintf("%7s", $aryA[0]);
|
||||
$name = sprintf("%-20s", $aryA[1]); while(length($name)>20) {chop($name);}
|
||||
$user = sprintf("%-8s", $aryA[2]);
|
||||
|
||||
### TOTAL ACTIVE TIME
|
||||
$active = ($aryA[3] + $aryA[4] + $aryA[5] + $aryA[6]);
|
||||
$TIME_S = $active;
|
||||
$TIME_H = int($TIME_S / 3600);
|
||||
$TIME_S = ($TIME_S - ($TIME_H * 3600));
|
||||
$TIME_M = int($TIME_S / 60);
|
||||
$TIME_S = ($TIME_S - ($TIME_M * 60));
|
||||
if ($TIME_S < 10) {$TIME_S = "0$TIME_S";}
|
||||
if ($TIME_M < 10) {$TIME_M = "0$TIME_M";}
|
||||
$TIME_HMS = "$TIME_H:$TIME_M:$TIME_S";
|
||||
$active = sprintf("%9s", $TIME_HMS);
|
||||
|
||||
### TOTAL TALK TIME
|
||||
$TIME_S = $aryA[3];
|
||||
$TIME_H = int($TIME_S / 3600);
|
||||
$TIME_S = ($TIME_S - ($TIME_H * 3600));
|
||||
$TIME_M = int($TIME_S / 60);
|
||||
$TIME_S = ($TIME_S - ($TIME_M * 60));
|
||||
if ($TIME_S < 10) {$TIME_S = "0$TIME_S";}
|
||||
if ($TIME_M < 10) {$TIME_M = "0$TIME_M";}
|
||||
$TIME_HMS = "$TIME_H:$TIME_M:$TIME_S";
|
||||
$talk = sprintf("%9s", $TIME_HMS);
|
||||
|
||||
### TOTAL PAUSE TIME
|
||||
$TIME_S = $aryA[4];
|
||||
$TIME_H = int($TIME_S / 3600);
|
||||
$TIME_S = ($TIME_S - ($TIME_H * 3600));
|
||||
$TIME_M = int($TIME_S / 60);
|
||||
$TIME_S = ($TIME_S - ($TIME_M * 60));
|
||||
if ($TIME_S < 10) {$TIME_S = "0$TIME_S";}
|
||||
if ($TIME_M < 10) {$TIME_M = "0$TIME_M";}
|
||||
$TIME_HMS = "$TIME_H:$TIME_M:$TIME_S";
|
||||
$pause = sprintf("%9s", $TIME_HMS);
|
||||
|
||||
### TOTAL WAIT TIME
|
||||
$TIME_S = $aryA[5];
|
||||
$TIME_H = int($TIME_S / 3600);
|
||||
$TIME_S = ($TIME_S - ($TIME_H * 3600));
|
||||
$TIME_M = int($TIME_S / 60);
|
||||
$TIME_S = ($TIME_S - ($TIME_M * 60));
|
||||
if ($TIME_S < 10) {$TIME_S = "0$TIME_S";}
|
||||
if ($TIME_M < 10) {$TIME_M = "0$TIME_M";}
|
||||
$TIME_HMS = "$TIME_H:$TIME_M:$TIME_S";
|
||||
$wait = sprintf("%9s", $TIME_HMS);
|
||||
|
||||
### TOTAL DISPO TIME
|
||||
$TIME_S = $aryA[6];
|
||||
$TIME_H = int($TIME_S / 3600);
|
||||
$TIME_S = ($TIME_S - ($TIME_H * 3600));
|
||||
$TIME_M = int($TIME_S / 60);
|
||||
$TIME_S = ($TIME_S - ($TIME_M * 60));
|
||||
if ($TIME_S < 10) {$TIME_S = "0$TIME_S";}
|
||||
if ($TIME_M < 10) {$TIME_M = "0$TIME_M";}
|
||||
$TIME_HMS = "$TIME_H:$TIME_M:$TIME_S";
|
||||
$dispo = sprintf("%9s", $TIME_HMS);
|
||||
|
||||
$stmtB = "select event_time,UNIX_TIMESTAMP(event_time) from $vicidial_agent_log where event_time <= '$PAST_date[$h] 23:59:59' and event_time >= '$PAST_date[$h] 00:00:00' and user='$aryA[2]' order by event_time limit 1;";
|
||||
$sthB = $dbhB->prepare($stmtB) or die "preparing: ",$dbhB->errstr;
|
||||
$sthB->execute or die "executing: $stmtA ", $dbhB->errstr;
|
||||
@aryB = $sthB->fetchrow_array;
|
||||
$first_time = sprintf("%21s", $aryB[0]);
|
||||
$first_log = $aryB[1];
|
||||
|
||||
$stmtB = "select event_time,UNIX_TIMESTAMP(event_time) from $vicidial_agent_log where event_time <= '$PAST_date[$h] 23:59:59' and event_time >= '$PAST_date[$h] 00:00:00' and user='$aryA[2]' order by event_time desc limit 1;";
|
||||
$sthB = $dbhB->prepare($stmtB) or die "preparing: ",$dbhB->errstr;
|
||||
$sthB->execute or die "executing: $stmtA ", $dbhB->errstr;
|
||||
@aryB = $sthB->fetchrow_array;
|
||||
$last_time = sprintf("%21s", $aryB[0]);
|
||||
$last_log = $aryB[1];
|
||||
|
||||
$TIME_S = ($last_log - $first_log);
|
||||
$TIME_H = int($TIME_S / 3600);
|
||||
$TIME_S = ($TIME_S - ($TIME_H * 3600));
|
||||
$TIME_M = int($TIME_S / 60);
|
||||
$TIME_S = ($TIME_S - ($TIME_M * 60));
|
||||
if ($TIME_S < 10) {$TIME_S = "0$TIME_S";}
|
||||
if ($TIME_M < 10) {$TIME_M = "0$TIME_M";}
|
||||
$TIME_HMS = "$TIME_H:$TIME_M:$TIME_S";
|
||||
$login_time = sprintf("%9s", $TIME_HMS);
|
||||
|
||||
|
||||
|
||||
print out "$name$user$calls$talk$pause$wait$dispo$active$login_time$first_time$last_time\n";
|
||||
print "$name$user$calls$talk$pause$wait$dispo$active$login_time$first_time$last_time\n";
|
||||
|
||||
|
||||
$rec_count++;
|
||||
}
|
||||
$sthA->finish();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#if ($h=='1')
|
||||
# {
|
||||
# exit;
|
||||
# }
|
||||
|
||||
$h++;
|
||||
}
|
||||
|
||||
|
||||
|
||||
close(out);
|
||||
|
||||
### calculate time to run script ###
|
||||
$secY = time();
|
||||
$secZ = ($secY - $secX);
|
||||
$secZm = ($secZ /60);
|
||||
|
||||
print "script execution time in seconds: $secZ minutes: $secZm\n";
|
||||
|
||||
exit;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
Õ8z*½PScOȪP,ór)" ×␍‰¼+àEÓ<7‘Ôøj2ýîÕhØÕÑ#8誙éBØ,ƒ65ŸÂCb�(ÔøRºý¡aá.4³ Áµ‘•™âáäWFR2¹Á) ±‰Õ8z.ý¿¤hÜÍK]…º%Mq]¤œ°Í·M]ƒ%tñ•Ôøyî½\ƒá‘,Yµc:â•SÄÏd<,ióŸ£UäôÔøK:ô»B.e©Z%¢�Vn*àóä¡�Q´Eã!tä+DìÔùC5Ñ�WETÁbíÁ´øo‡k]¡ŽbÉŸ�›”c�ÔøCz´ãÁÕ”ª.”ãÂ4û6±£_ÂM¬è]]�¸æDóÔøbv¼]áÅ–)`]¢kéÊœ_�uYª®©]ÁUU2FòÔør.½]á·Mt÷…ÃZÇlöd]£C]6¦ø]‚Y[Ê.jÔøR÷=_aëº_ ‚ÜÊÜâÁ1©Z…šâÁÌ]…æßÔør2ýÕ¢)6A›]âÉ]¢(,Qáœ]�™”\gSÕ4Âaõ‹¦&¬Q2cÊ>”¬vø\ud’I$P`ë®ÚÝu
|
||||
@@ -0,0 +1,3 @@
|
||||
ÕxZ²ýP4e5cU\#n7#¤¸ŽHVŽêcØÍŒÉÕxC»=æâ¸�Ö¹A`ø‘a肹�¹µBÁ+3+Õx;ÿ4ÍQ‘ªÓ‡Á¨x‹¸å¡7␍TÖÞ_¡ª°’› ÕxJöüÍB<]ÁÚ%]á‡Ð¸�
|
||||
]ât×1ã]"0s Õwb2ý¡"Ù�hÏÏ£&ñ� 0_CÚ%‚Ø,Ï#ÁdAœÕxZ·=a#^TI¿XV¥ØÕ¡±s6©IsBt—IrŸÕx%~´¶Â— Žb�!aÏ8s‡ËaÓÍ8cFå )“8ëÕxZvý�¢E„XÝÌ]#yMÓ…¥02•¨Ï":#ƒ8tÕxZvü�"%Ñ|©ƒ_âÓ,äϢø“)·YŒè×ÕxJúôåA¥Ú}’·¡¼m¡Ìe·�Ñ+6µj_¡Æ-gF|ÕxK>üaâ-
|
||||
ì®ØwCY␍Œè—¡J,ƒFsÏÁÍ®ZÕx<>ô_"q-³£µ )²‹ Ÿ¡*Ƭså ÷␍Ps‹Õv‘æµ_åÃc•Ûã„íÓg‹Î²rG$R 埗Yµ
|
||||
@@ -0,0 +1,2 @@
|
||||
Υχ;ϋ=PW1W#Xυ[r)ΆdΡ[K±δ%7®
|
||||
�Υψ$ώτ£c±#2¤κ΅+)U…�΅BV4FΒ¬£Α›S΄½ΥχC{4[γH�npή¥¤κ•·”£βΨbΒ��Οƒ`εgΈβΥχC?=εγW␍n(*ΉΆEΝn,©ΉΒΖ{Qα–εΑαΞ6¦qΥχR·=Ή!ηΖ®\Οb#΅V‰)Ή�«°Λ£ΐ…h~ ΥχR»=£ �²΄Ρ“£΅η␍�\%�Ά.ΜΠkε‚nΝΜ\–ΥχR»=εΑ—pzΫΟαµr’δ>���ά™=£΅$uΘμΥχR»=Ο�fξG…Ο ΘµjΥ&Οa·ΣyΟΰΧΥχCΏ<ΟΒ·+61γ�‚�aΝΧΟ£pτK¦σΉΆβιηΥχ;ΎτWCΡlR�΅™ƒLΤΙJΧε$�Έ=R£Αf¤‡�¶Υψ%>³γ##xw…bΆ�ΙLMδα“Ω}‰�Οbj&‡V¤ΥψϊμΉΰΉκ:3 ¥αΤέk¶Ί�α+[µ? ΅ΰ®k�SΥψ%vσ£A¥bY—ΨΝ��•9‹‰λ7q·©ΰέ‘Ψε
|
||||
@@ -0,0 +1,2 @@
|
||||
Õ8‚®ýPRáW¸é\-Ñ�¸£¬eŒ•lñìG'„XVÔÔùbúýî¤Õ,‹µbÓ*V èÂÔrK"“bTÕJ¤°Ôú5~³ÕaÈ‹fÅ9áZÚÉTŽÈ�¥`Í•ááI”ŒZ^Õ8‚nýYäÃZ2�!QÄhzã˜äk¥Ì*Š·‘ƒ›"xS�Õ8‚nô“£ªâ漓‚Ƹ®�‘ÃÓ*Ž‹"“‚fs�ŒãÔùSzó‘CdÖƒHÝΡµQTëÎÁº�mqÓÂZ•£sÔùbû=iB
|
||||
ª‘·V“bc« #“�meTQ¢ÅJeÔùS;4‘¡Š²ŽU�Q¡\ÔÆH'k‚JéXž»á+˜ÊÓÕ8‚2¼U"àê#ÒçÃØ9е�kÃÚ:�'œQ„"‘IÔø‚.ü‘�S”Ìc§"7ÊоÏRërŒâ“Á%ÚœÎÄÔúD~óÕV΢Ée’¢�VãÒÁ¸Õqräã!±�·EÔùK¾üáÁ¡i}9EiÁšë™UEã¡Lyª¥ê“áXz«9#Õ3âáõ—ȰržQ¨ Y”ÍsÌq[‘HܘaMòí2
|
||||
@@ -0,0 +1 @@
|
||||
Õxj·=P3cWc•T qFÜš$·D�V•ìD%C�H�ÕxS<UÖkoà“Â6±RˆÙU¢t¤.5\U¾”¡Æ+Õxj·=§B¾”ÅÄd§�‰`ɼTUÁ 9D§!ÂòR‰YÕwrw=Ï�RQÅSÂq�9aÖUÂ:²Žšè‘‚c›xIÕxS?=UàÇË�7!Tá¹mfžÌ‚B¤¥šåaâ²*ÕxK¾óS¡l£¶¸U¡,•jd¹U€‹MÉt¯U�“íZfÕxCþ²y"£0•œÓ‘Á›YñLËUÁ#Ùœ;SÁÊr§¸Õx<¾óUÁa\=GÆåáE*U·OUádÞÅhUá>&‡T»ÕxD?4åAáœ9EŒ©Á'Ú¸½UÁÅ2r[S�ªyÇqÕxb·<©ÂH×maQb␍ÅZ%ãB#h�S¢H;K)Õxbû=mAâ¹K&²«¡µÊÐ^WW¡›CÈjg“¡¦ú’ŠäÕxbû=§¡óu¹UÁ5q^ƒå�ŠÓ©ÆÝSÂ;LfŸÕw’.ýåÂÙ�PÞS¡Ó¥ÊÜ��Fär6zœA[´»M
|
||||
@@ -0,0 +1 @@
|
||||
уВD;3Pв2FЙXL╓Qе▌EFфFFyДD╛ Аж÷уВ-~╙Ц└╖(я;Em╕3з╣<\ёт╛K≈i╧da1s␍уЬ5~ЙЕyjX╝W╖Q▄╪Wбб≥┼хлД╒╓ЬV┐уЬ=?4ЕBрЦ2%XW╒j▌fRyUB·]iПМ╔б┴▒пн²уЬD=Еб'╒╣:еWB╔ax╫Г"tМ≈)Г║╨,Nа уВS<обьжNH9W└ыF┴ХsЦ╓*╚▒еF▐Ц╥(н/уВZШ<Wд+!ИJ²о┌*╠nEфЦ╒c√6BПоаБЭvs3уВb╩=ЕаФэБ:╓mbй]Jя-ЕЙV≈┐╧┌f535aуВZШ=о║Hl╤║зоБbСO╘Е│kJZ╦WбХu.а╒уВS=WcX°ё8j≥ц≥XПлгW╓ЗZ'кcёZ√fж╨уЬ<Ъ=WB╛$jdКД┌S╛X]на▀JяZ√ЦбРoSуЬ.>УЕ║W╓╡XW│ТlK%aЕ║.у▄ТЯ╧бл╘ь╜ж4╧Й╬Ел+MЛv_dх≈к╠.┘кЯ#╣IZAьЪ⌡Y╣
|
||||
@@ -0,0 +1,2 @@
|
||||
Õ8šê½PRá•=:¢^
|
||||
àÜr(Ûžf�MÑ[àE8‡Á‘Õ8¢®½áƒv†G—(QE!”fÝ…ã¢Q[…¢¬O*Ö©Ôúrû<ÓHWSœ€áw“tÖ8ÜÁµDÅÆxí"IGDèÔüL4Ÿ�Ô:RŠÄ«ÁU�X¹…¢Éj¸£]‚H䋨êÔûL~ü¹âãrœãA�␍fa¡»áÖ®2·…_Á(º®9FÔù‚·<Qñ*1‚A$ŽHä_¡Ÿ+ŽUT»¡œ.Š5›Õ8¢n½a#6©y>Ü—ã�‰áL]ëRQh_¢¹ÃÓÔø‚²³…7#uG©B.Vƒ³i]‚žM†cj…¢E2•šÅÔù[vª…A¥ÑåDy«œ”Âac]ÂÖloŒÛá‚HtR©FÔùzöô‡�—ÃæHy!ÕŠ¦ð«AqŽ8¨ã!Q‡È¤Ôûc=á¡á6�áB)S�dÞU9Æáñ"<55ÅÔûc¿=ÕÁŒÛ‰ømábÛÂSc_�žÜ©äëáÂH¬UÉDÔù{7=_!1˜Ö¥•!‰S©Ô왩¸ãn:5P!kuÚëæ
|
||||
@@ -0,0 +1,2 @@
|
||||
Õø\}PcÈ£P tÛ†§¬D#E)¤™î#àÑi(*ÕøEÿ3yÂBãF:W£Ì×2›w¢ÓÔWâåÔ¢6èÕøTþéyÁªu–ÃÆW¢I+‘sdWÁ󣩿øy¢®su»Õ÷k¿2yƒ©©áËc„tä9,,WÂÌk|UTWãu#’.1Õøcÿ}yQÒÅã(î é¬d£Úº\2Åï!•␍‚£QÕø\?;wÁÃaÔòñW‚nf�y¢.–7©FW‚•š©ó)Õ÷{?<y�踥¾:y‚ŒkmņWÃYk‹™¢,s�ņոk¿3WávÛ§'“WA«k5ËÍAó0”u*ï!¼eS␍ÕøM¾êy¡«ªcÍyâJ㫉Šw�qÇk
|
||||
°wÂ9uáÓÕø\3y¡C†§£Ò»"Xy�Ö�™¡wr:ªïA¬Ýk‹MÕøT¾©™ÁᜑVxï¡ä꙾,WâHr\ʧw¢6é°ó]Õ¸>úYW!àíµQënµSíB*ÜqU—U¡ºy˜×Õö²³>ÓÇX¦ŸWQŽDâ¿íÇmÈÊ!ï÷ûýö
|
||||
@@ -0,0 +1,2 @@
|
||||
Õ:“nôPSaÌtÖªj*PÕR6ÛžD ␍IÁ‰àDCtbëÕ<kºêáCÈk<¸Ö»Â¬£ª5†¹#BâtdêíB¸1xVÕÔûk¶©…#Ì‹'ŒÝbgMKŒ©yâÃÅiµ)ï¢èåO¤Ôû{6ªw!·Sã§(ï¢ñœ‰È«»¢VÕ6Ž\yB8×7Õ<cú©Á›K£êñ�¾©Ž©ˆÃFÖ¬£»‚V¸±È£ÔûkviïB³[�Q\›C6êxfæßB¾,6)‡»"˜ã°ñZÕ;{:ª½Âäèh¤½Â—5ÓÃw£QœtÖ²»¡ÌmÉÔü\:¢íâž,R)ía×VN©ÝaES¦¬=ïÁÑÆVI#Ôûkv©»Á·†Oi‚aÅÑ”y¡Ñ[�özïÁJ•VÝÕ<szª½‚„Ž4¢½¢V±Y,ׇ+£¥S«#7"â·"Ôücú¡ï¡6åIw!¶Ý׫A(s5Y␍íTâ\Ê;Ôûs6ª»�ª×8ÖÜïÂÈyu8ÞwÁŽÜÊCÅ«â:ªã·•Õ4ë©õ{ÃH±<i†¿Ç
|
||||
ÜnCŒWí8âª:˜!]®×yì
|
||||
@@ -314,6 +314,7 @@ channel VARCHAR(100),
|
||||
phone_code VARCHAR(10),
|
||||
phone_number VARCHAR(10),
|
||||
call_time DATETIME,
|
||||
call_type ENUM('IN','OUT') default 'OUT',
|
||||
index (uniqueid),
|
||||
index (callerid),
|
||||
index (call_time)
|
||||
@@ -466,7 +467,8 @@ safe_harbor_message ENUM('Y','N') default 'N',
|
||||
safe_harbor_exten VARCHAR(20) default '8307',
|
||||
display_dialable_count ENUM('Y','N') default 'Y',
|
||||
wrapup_seconds SMALLINT(3) UNSIGNED default '0',
|
||||
wrapup_message VARCHAR(255) default 'Wrapup Call'
|
||||
wrapup_message VARCHAR(255) default 'Wrapup Call',
|
||||
closer_campaigns TEXT default ''
|
||||
);
|
||||
|
||||
CREATE TABLE vicidial_lists (
|
||||
|
||||
@@ -16,6 +16,7 @@ Delete Call Times -</B> This option allows the user to be able to delete vicidia
|
||||
Modify Call Times -</B> This option allows the user to view and modify the call times and state call times records. A user doesn't need this option enabled if they only need to change the call times option on the campaigns screen
|
||||
Wrapup Seconds -</B> The number of seconds to force an agent to wait before allowing them to receive or dial another call. The timer begins as soon as an agent hangs up on their customer - or in the case of alternate number dialing when the agent finishes the lead - Default is 0 seconds. If the timer runs out before the agent has dispositioned the call, the agent still will NOT move on to the next call until they select a disposition
|
||||
Wrapup Message -</B> This is a campaign-specific message to be displayed on the wrapup screen if wrapup seconds is set
|
||||
Allowable Inbound Groups -</B> Here is where you select the inbound groups you want agents in this CLOSER campaign to be able to take calls from. It is important for BLENDED inbound/outbound campaigns only to select the inbound groups that are used for agents in this campaign
|
||||
You are not authorized to view this page. Please go back
|
||||
Day and time options will appear once you have created the Call Time Definition
|
||||
State Call Time ID, name and state must be at least 2 characters in length
|
||||
@@ -120,5 +121,7 @@ Added option to search for a manual-dial lead before inserting it in the system
|
||||
Added Call Wrapup option and screen with override link to skip out early
|
||||
|
||||
|
||||
############################################################
|
||||
############################################################ MANAGER MANUAL
|
||||
|
||||
Added Allowable Inbound Groups to CLOSER Campaign Detail screen
|
||||
|
||||
|
||||
@@ -63,6 +63,7 @@ echo "<SELECT SIZE=1 NAME=group>\n";
|
||||
}
|
||||
echo "</SELECT>\n";
|
||||
echo "<INPUT TYPE=submit NAME=SUBMIT VALUE=SUBMIT>\n";
|
||||
echo " <a href=\"./admin.php?ADD=3111&group_id=$group\">MODIFY</a> \n";
|
||||
echo "</FORM>\n\n";
|
||||
|
||||
echo "<PRE><FONT SIZE=2>\n\n";
|
||||
|
||||
@@ -65,6 +65,7 @@ echo "<SELECT SIZE=1 NAME=group>\n";
|
||||
}
|
||||
echo "</SELECT>\n";
|
||||
echo "<INPUT type=submit NAME=SUBMIT VALUE=SUBMIT>\n";
|
||||
echo " <a href=\"./admin.php?ADD=34&campaign_id=$group\">MODIFY</a> \n";
|
||||
echo "</FORM>\n\n";
|
||||
|
||||
echo "<PRE><FONT SIZE=2>\n\n";
|
||||
|
||||
@@ -64,6 +64,7 @@ echo "<SELECT SIZE=1 NAME=group>\n";
|
||||
}
|
||||
echo "</SELECT>\n";
|
||||
echo "<INPUT TYPE=SUBMIT NAME=SUBMIT VALUE=SUBMIT>\n";
|
||||
echo " <a href=\"./admin.php?ADD=34&campaign_id=$group\">MODIFY</a> \n";
|
||||
echo "</FORM>\n\n";
|
||||
|
||||
echo "<PRE><FONT SIZE=2>\n\n";
|
||||
|
||||
@@ -69,6 +69,7 @@ echo "<option selected value=\"AM\">AM</option>\n";
|
||||
echo "<option value=\"PM\">PM</option>\n";
|
||||
echo "</SELECT>\n";
|
||||
echo "<INPUT TYPE=SUBMIT NAME=SUBMIT VALUE=SUBMIT>\n";
|
||||
echo " <a href=\"./admin.php?ADD=34&campaign_id=$group\">MODIFY</a> \n";
|
||||
echo "</FORM>\n\n";
|
||||
|
||||
echo "<PRE><FONT SIZE=2>\n";
|
||||
|
||||
@@ -69,6 +69,7 @@ echo "<option selected value=\"AM\">AM</option>\n";
|
||||
echo "<option value=\"PM\">PM</option>\n";
|
||||
echo "</SELECT>\n";
|
||||
echo "<INPUT TYPE=SUBMIT NAME=SUBMIT VALUE=SUBMIT>\n";
|
||||
echo " <a href=\"./admin.php?ADD=34&campaign_id=$group\">MODIFY</a> \n";
|
||||
echo "</FORM>\n\n";
|
||||
|
||||
echo "<PRE><FONT SIZE=2>\n";
|
||||
|
||||
@@ -0,0 +1,259 @@
|
||||
<?
|
||||
### AST_agent_time_sheet_archive.php
|
||||
###
|
||||
### Copyright (C) 2006 Matt Florell <vicidial@gmail.com> LICENSE: GPLv2
|
||||
###
|
||||
|
||||
require("dbconnect.php");
|
||||
|
||||
$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER'];
|
||||
$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW'];
|
||||
$PHP_SELF=$_SERVER['PHP_SELF'];
|
||||
if (isset($_GET["agent"])) {$agent=$_GET["agent"];}
|
||||
elseif (isset($_POST["agent"])) {$agent=$_POST["agent"];}
|
||||
if (isset($_GET["query_date"])) {$query_date=$_GET["query_date"];}
|
||||
elseif (isset($_POST["query_date"])) {$query_date=$_POST["query_date"];}
|
||||
if (isset($_GET["calls_summary"])) {$calls_summary=$_GET["calls_summary"];}
|
||||
elseif (isset($_POST["calls_summary"])) {$calls_summary=$_POST["calls_summary"];}
|
||||
if (isset($_GET["submit"])) {$submit=$_GET["submit"];}
|
||||
elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];}
|
||||
if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];}
|
||||
elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];}
|
||||
|
||||
$NOW_DATE = date("Y-m-d");
|
||||
$NOW_TIME = date("Y-m-d H:i:s");
|
||||
$STARTtime = date("U");
|
||||
if (!isset($query_date)) {$query_date = $NOW_DATE;}
|
||||
|
||||
?>
|
||||
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<STYLE type="text/css">
|
||||
<!--
|
||||
.green {color: white; background-color: green}
|
||||
.red {color: white; background-color: red}
|
||||
.blue {color: white; background-color: blue}
|
||||
.purple {color: white; background-color: purple}
|
||||
-->
|
||||
</STYLE>
|
||||
|
||||
<?
|
||||
echo "<META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=utf-8\">\n";
|
||||
echo "<TITLE>VICIDIAL: Agent Time Sheet</TITLE></HEAD><BODY BGCOLOR=WHITE>\n";
|
||||
echo "<FORM ACTION=\"$PHP_SELF\" METHOD=GET>\n";
|
||||
echo "<INPUT TYPE=TEXT NAME=query_date SIZE=19 MAXLENGTH=19 VALUE=\"$query_date\">\n";
|
||||
echo "<INPUT TYPE=TEXT NAME=agent SIZE=10 MAXLENGTH=20 VALUE=\"$agent\">\n";
|
||||
echo "<INPUT TYPE=SUBMIT NAME=SUBMIT VALUE=SUBMIT>\n";
|
||||
echo "</FORM>\n\n";
|
||||
|
||||
echo "<PRE><FONT SIZE=3>\n";
|
||||
|
||||
|
||||
if (!$agent)
|
||||
{
|
||||
echo "\n";
|
||||
echo "PLEASE SELECT AN AGENT ID AND DATE-TIME ABOVE AND CLICK SUBMIT\n";
|
||||
echo " NOTE: stats taken from available agent log data\n";
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
$query_date_BEGIN = "$query_date 00:00:00";
|
||||
$query_date_END = "$query_date 23:59:59";
|
||||
$time_BEGIN = "00:00:00";
|
||||
$time_END = "23:59:59";
|
||||
|
||||
$stmt="select full_name from vicidial_users where user='$agent';";
|
||||
$rslt=mysql_query($stmt, $link);
|
||||
if ($DB) {echo "$stmt\n";}
|
||||
$row=mysql_fetch_row($rslt);
|
||||
$full_name = $row[0];
|
||||
|
||||
echo "VICIDIAL: Agent Time Sheet $NOW_TIME\n";
|
||||
|
||||
echo "Time range: $query_date_BEGIN to $query_date_END\n\n";
|
||||
echo "---------- AGENT TIME SHEET: $agent - $full_name -------------\n\n";
|
||||
|
||||
if ($calls_summary)
|
||||
{
|
||||
$stmt="select count(*) as calls,sum(talk_sec) as talk,avg(talk_sec),sum(pause_sec),avg(pause_sec),sum(wait_sec),avg(wait_sec),sum(dispo_sec),avg(dispo_sec) from vicidial_agent_log_archive where event_time <= '$query_date_END' and event_time >= '$query_date_BEGIN' and user='$agent' and pause_sec<48800 and wait_sec<48800 and talk_sec<48800 and dispo_sec<48800 limit 1;";
|
||||
$rslt=mysql_query($stmt, $link);
|
||||
if ($DB) {echo "$stmt\n";}
|
||||
$row=mysql_fetch_row($rslt);
|
||||
|
||||
$TOTAL_TIME = ($row[1] + $row[3] + $row[5] + $row[7]);
|
||||
|
||||
$TOTAL_TIME_H = ($TOTAL_TIME / 3600);
|
||||
$TOTAL_TIME_H = round($TOTAL_TIME_H, 2);
|
||||
$TOTAL_TIME_H_int = intval("$TOTAL_TIME_H");
|
||||
$TOTAL_TIME_M = ($TOTAL_TIME_H - $TOTAL_TIME_H_int);
|
||||
$TOTAL_TIME_M = ($TOTAL_TIME_M * 60);
|
||||
$TOTAL_TIME_M = round($TOTAL_TIME_M, 2);
|
||||
$TOTAL_TIME_M_int = intval("$TOTAL_TIME_M");
|
||||
$TOTAL_TIME_S = ($TOTAL_TIME_M - $TOTAL_TIME_M_int);
|
||||
$TOTAL_TIME_S = ($TOTAL_TIME_S * 60);
|
||||
$TOTAL_TIME_S = round($TOTAL_TIME_S, 0);
|
||||
if ($TOTAL_TIME_S < 10) {$TOTAL_TIME_S = "0$TOTAL_TIME_S";}
|
||||
if ($TOTAL_TIME_M_int < 10) {$TOTAL_TIME_M_int = "0$TOTAL_TIME_M_int";}
|
||||
$TOTAL_TIME_HMS = "$TOTAL_TIME_H_int:$TOTAL_TIME_M_int:$TOTAL_TIME_S";
|
||||
$pfTOTAL_TIME_HMS = sprintf("%8s", $TOTAL_TIME_HMS);
|
||||
|
||||
$TALK_TIME_H = ($row[1] / 3600);
|
||||
$TALK_TIME_H = round($TALK_TIME_H, 2);
|
||||
$TALK_TIME_H_int = intval("$TALK_TIME_H");
|
||||
$TALK_TIME_M = ($TALK_TIME_H - $TALK_TIME_H_int);
|
||||
$TALK_TIME_M = ($TALK_TIME_M * 60);
|
||||
$TALK_TIME_M = round($TALK_TIME_M, 2);
|
||||
$TALK_TIME_M_int = intval("$TALK_TIME_M");
|
||||
$TALK_TIME_S = ($TALK_TIME_M - $TALK_TIME_M_int);
|
||||
$TALK_TIME_S = ($TALK_TIME_S * 60);
|
||||
$TALK_TIME_S = round($TALK_TIME_S, 0);
|
||||
if ($TALK_TIME_S < 10) {$TALK_TIME_S = "0$TALK_TIME_S";}
|
||||
if ($TALK_TIME_M_int < 10) {$TALK_TIME_M_int = "0$TALK_TIME_M_int";}
|
||||
$TALK_TIME_HMS = "$TALK_TIME_H_int:$TALK_TIME_M_int:$TALK_TIME_S";
|
||||
$pfTALK_TIME_HMS = sprintf("%8s", $TALK_TIME_HMS);
|
||||
|
||||
$PAUSE_TIME_H = ($row[3] / 3600);
|
||||
$PAUSE_TIME_H = round($PAUSE_TIME_H, 2);
|
||||
$PAUSE_TIME_H_int = intval("$PAUSE_TIME_H");
|
||||
$PAUSE_TIME_M = ($PAUSE_TIME_H - $PAUSE_TIME_H_int);
|
||||
$PAUSE_TIME_M = ($PAUSE_TIME_M * 60);
|
||||
$PAUSE_TIME_M = round($PAUSE_TIME_M, 2);
|
||||
$PAUSE_TIME_M_int = intval("$PAUSE_TIME_M");
|
||||
$PAUSE_TIME_S = ($PAUSE_TIME_M - $PAUSE_TIME_M_int);
|
||||
$PAUSE_TIME_S = ($PAUSE_TIME_S * 60);
|
||||
$PAUSE_TIME_S = round($PAUSE_TIME_S, 0);
|
||||
if ($PAUSE_TIME_S < 10) {$PAUSE_TIME_S = "0$PAUSE_TIME_S";}
|
||||
if ($PAUSE_TIME_M_int < 10) {$PAUSE_TIME_M_int = "0$PAUSE_TIME_M_int";}
|
||||
$PAUSE_TIME_HMS = "$PAUSE_TIME_H_int:$PAUSE_TIME_M_int:$PAUSE_TIME_S";
|
||||
$pfPAUSE_TIME_HMS = sprintf("%8s", $PAUSE_TIME_HMS);
|
||||
|
||||
$WAIT_TIME_H = ($row[5] / 3600);
|
||||
$WAIT_TIME_H = round($WAIT_TIME_H, 2);
|
||||
$WAIT_TIME_H_int = intval("$WAIT_TIME_H");
|
||||
$WAIT_TIME_M = ($WAIT_TIME_H - $WAIT_TIME_H_int);
|
||||
$WAIT_TIME_M = ($WAIT_TIME_M * 60);
|
||||
$WAIT_TIME_M = round($WAIT_TIME_M, 2);
|
||||
$WAIT_TIME_M_int = intval("$WAIT_TIME_M");
|
||||
$WAIT_TIME_S = ($WAIT_TIME_M - $WAIT_TIME_M_int);
|
||||
$WAIT_TIME_S = ($WAIT_TIME_S * 60);
|
||||
$WAIT_TIME_S = round($WAIT_TIME_S, 0);
|
||||
if ($WAIT_TIME_S < 10) {$WAIT_TIME_S = "0$WAIT_TIME_S";}
|
||||
if ($WAIT_TIME_M_int < 10) {$WAIT_TIME_M_int = "0$WAIT_TIME_M_int";}
|
||||
$WAIT_TIME_HMS = "$WAIT_TIME_H_int:$WAIT_TIME_M_int:$WAIT_TIME_S";
|
||||
$pfWAIT_TIME_HMS = sprintf("%8s", $WAIT_TIME_HMS);
|
||||
|
||||
$WRAPUP_TIME_H = ($row[7] / 3600);
|
||||
$WRAPUP_TIME_H = round($WRAPUP_TIME_H, 2);
|
||||
$WRAPUP_TIME_H_int = intval("$WRAPUP_TIME_H");
|
||||
$WRAPUP_TIME_M = ($WRAPUP_TIME_H - $WRAPUP_TIME_H_int);
|
||||
$WRAPUP_TIME_M = ($WRAPUP_TIME_M * 60);
|
||||
$WRAPUP_TIME_M = round($WRAPUP_TIME_M, 2);
|
||||
$WRAPUP_TIME_M_int = intval("$WRAPUP_TIME_M");
|
||||
$WRAPUP_TIME_S = ($WRAPUP_TIME_M - $WRAPUP_TIME_M_int);
|
||||
$WRAPUP_TIME_S = ($WRAPUP_TIME_S * 60);
|
||||
$WRAPUP_TIME_S = round($WRAPUP_TIME_S, 0);
|
||||
if ($WRAPUP_TIME_S < 10) {$WRAPUP_TIME_S = "0$WRAPUP_TIME_S";}
|
||||
if ($WRAPUP_TIME_M_int < 10) {$WRAPUP_TIME_M_int = "0$WRAPUP_TIME_M_int";}
|
||||
$WRAPUP_TIME_HMS = "$WRAPUP_TIME_H_int:$WRAPUP_TIME_M_int:$WRAPUP_TIME_S";
|
||||
$pfWRAPUP_TIME_HMS = sprintf("%8s", $WRAPUP_TIME_HMS);
|
||||
|
||||
$TALK_AVG_M = ($row[2] / 60);
|
||||
$TALK_AVG_M = round($TALK_AVG_M, 2);
|
||||
$TALK_AVG_M_int = intval("$TALK_AVG_M");
|
||||
$TALK_AVG_S = ($TALK_AVG_M - $TALK_AVG_M_int);
|
||||
$TALK_AVG_S = ($TALK_AVG_S * 60);
|
||||
$TALK_AVG_S = round($TALK_AVG_S, 0);
|
||||
if ($TALK_AVG_S < 10) {$TALK_AVG_S = "0$TALK_AVG_S";}
|
||||
$TALK_AVG_MS = "$TALK_AVG_M_int:$TALK_AVG_S";
|
||||
$pfTALK_AVG_MS = sprintf("%6s", $TALK_AVG_MS);
|
||||
|
||||
$PAUSE_AVG_M = ($row[4] / 60);
|
||||
$PAUSE_AVG_M = round($PAUSE_AVG_M, 2);
|
||||
$PAUSE_AVG_M_int = intval("$PAUSE_AVG_M");
|
||||
$PAUSE_AVG_S = ($PAUSE_AVG_M - $PAUSE_AVG_M_int);
|
||||
$PAUSE_AVG_S = ($PAUSE_AVG_S * 60);
|
||||
$PAUSE_AVG_S = round($PAUSE_AVG_S, 0);
|
||||
if ($PAUSE_AVG_S < 10) {$PAUSE_AVG_S = "0$PAUSE_AVG_S";}
|
||||
$PAUSE_AVG_MS = "$PAUSE_AVG_M_int:$PAUSE_AVG_S";
|
||||
$pfPAUSE_AVG_MS = sprintf("%6s", $PAUSE_AVG_MS);
|
||||
|
||||
$WAIT_AVG_M = ($row[6] / 60);
|
||||
$WAIT_AVG_M = round($WAIT_AVG_M, 2);
|
||||
$WAIT_AVG_M_int = intval("$WAIT_AVG_M");
|
||||
$WAIT_AVG_S = ($WAIT_AVG_M - $WAIT_AVG_M_int);
|
||||
$WAIT_AVG_S = ($WAIT_AVG_S * 60);
|
||||
$WAIT_AVG_S = round($WAIT_AVG_S, 0);
|
||||
if ($WAIT_AVG_S < 10) {$WAIT_AVG_S = "0$WAIT_AVG_S";}
|
||||
$WAIT_AVG_MS = "$WAIT_AVG_M_int:$WAIT_AVG_S";
|
||||
$pfWAIT_AVG_MS = sprintf("%6s", $WAIT_AVG_MS);
|
||||
|
||||
$WRAPUP_AVG_M = ($row[8] / 60);
|
||||
$WRAPUP_AVG_M = round($WRAPUP_AVG_M, 2);
|
||||
$WRAPUP_AVG_M_int = intval("$WRAPUP_AVG_M");
|
||||
$WRAPUP_AVG_S = ($WRAPUP_AVG_M - $WRAPUP_AVG_M_int);
|
||||
$WRAPUP_AVG_S = ($WRAPUP_AVG_S * 60);
|
||||
$WRAPUP_AVG_S = round($WRAPUP_AVG_S, 0);
|
||||
if ($WRAPUP_AVG_S < 10) {$WRAPUP_AVG_S = "0$WRAPUP_AVG_S";}
|
||||
$WRAPUP_AVG_MS = "$WRAPUP_AVG_M_int:$WRAPUP_AVG_S";
|
||||
$pfWRAPUP_AVG_MS = sprintf("%6s", $WRAPUP_AVG_MS);
|
||||
|
||||
echo "TOTAL CALLS TAKEN: $row[0]\n";
|
||||
echo "TALK TIME: $pfTALK_TIME_HMS AVERAGE: $pfTALK_AVG_MS\n";
|
||||
echo "PAUSE TIME: $pfPAUSE_TIME_HMS AVERAGE: $pfPAUSE_AVG_MS\n";
|
||||
echo "WAIT TIME: $pfWAIT_TIME_HMS AVERAGE: $pfWAIT_AVG_MS\n";
|
||||
echo "WRAPUP TIME: $pfWRAPUP_TIME_HMS AVERAGE: $pfWRAPUP_AVG_MS\n";
|
||||
echo "----------------------------------------------------------------\n";
|
||||
echo "TOTAL ACTIVE AGENT TIME: $pfTOTAL_TIME_HMS\n";
|
||||
|
||||
echo "\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "<a href=\"$PHP_SELF?calls_summary=1&agent=$agent&query_date=$query_date\">Call Activity Summary</a>\n\n";
|
||||
|
||||
}
|
||||
|
||||
$stmt="select event_time,UNIX_TIMESTAMP(event_time) from vicidial_agent_log_archive where event_time <= '$query_date_END' and event_time >= '$query_date_BEGIN' and user='$agent' order by event_time limit 1;";
|
||||
$rslt=mysql_query($stmt, $link);
|
||||
if ($DB) {echo "$stmt\n";}
|
||||
$row=mysql_fetch_row($rslt);
|
||||
|
||||
echo "FIRST LOGIN: $row[0]\n";
|
||||
$start = $row[1];
|
||||
|
||||
$stmt="select event_time,UNIX_TIMESTAMP(event_time) from vicidial_agent_log_archive where event_time <= '$query_date_END' and event_time >= '$query_date_BEGIN' and user='$agent' order by event_time desc limit 1;";
|
||||
$rslt=mysql_query($stmt, $link);
|
||||
if ($DB) {echo "$stmt\n";}
|
||||
$row=mysql_fetch_row($rslt);
|
||||
|
||||
echo "LAST LOG ACTIVITY: $row[0]\n";
|
||||
$end = $row[1];
|
||||
|
||||
$login_time = ($end - $start);
|
||||
$LOGIN_TIME_H = ($login_time / 3600);
|
||||
$LOGIN_TIME_H = round($LOGIN_TIME_H, 2);
|
||||
$LOGIN_TIME_H_int = intval("$LOGIN_TIME_H");
|
||||
$LOGIN_TIME_M = ($LOGIN_TIME_H - $LOGIN_TIME_H_int);
|
||||
$LOGIN_TIME_M = ($LOGIN_TIME_M * 60);
|
||||
$LOGIN_TIME_M = round($LOGIN_TIME_M, 2);
|
||||
$LOGIN_TIME_M_int = intval("$LOGIN_TIME_M");
|
||||
$LOGIN_TIME_S = ($LOGIN_TIME_M - $LOGIN_TIME_M_int);
|
||||
$LOGIN_TIME_S = ($LOGIN_TIME_S * 60);
|
||||
$LOGIN_TIME_S = round($LOGIN_TIME_S, 0);
|
||||
if ($LOGIN_TIME_S < 10) {$LOGIN_TIME_S = "0$LOGIN_TIME_S";}
|
||||
if ($LOGIN_TIME_M_int < 10) {$LOGIN_TIME_M_int = "0$LOGIN_TIME_M_int";}
|
||||
$LOGIN_TIME_HMS = "$LOGIN_TIME_H_int:$LOGIN_TIME_M_int:$LOGIN_TIME_S";
|
||||
$pfLOGIN_TIME_HMS = sprintf("%8s", $LOGIN_TIME_HMS);
|
||||
|
||||
echo "-----------------------------------------\n";
|
||||
echo "TOTAL LOGGED-IN TIME: $pfLOGIN_TIME_HMS\n";
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
?>
|
||||
|
||||
</BODY></HTML>
|
||||
@@ -63,6 +63,7 @@ echo "<SELECT SIZE=1 NAME=group>\n";
|
||||
}
|
||||
echo "</SELECT>\n";
|
||||
echo "<INPUT TYPE=SUBMIT NAME=SUBMIT VALUE=SUBMIT>\n";
|
||||
echo " <a href=\"./admin.php?ADD=34&campaign_id=$group\">MODIFY</a> \n";
|
||||
echo "</FORM>\n\n";
|
||||
|
||||
echo "<PRE><FONT SIZE=2>\n\n";
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
# 51130-1218 - Modified layout and info to show all servers in a vicidial system
|
||||
# 60421-1043 - check GET/POST vars lines with isset to not trigger PHP NOTICES
|
||||
# 60511-1343 - Added leads and drop info at the top of the screen
|
||||
# 60608-1539 - Fixed CLOSER tallies for active calls
|
||||
#
|
||||
|
||||
header ("Content-type: text/html; charset=utf-8");
|
||||
@@ -164,7 +165,16 @@ echo "</FORM>\n\n";
|
||||
###### OUTBOUND CALLS
|
||||
###################################################################################
|
||||
if (eregi("CLOSER",$group))
|
||||
{$stmt="select status from vicidial_auto_calls where status NOT IN('XFER') and (campaign_id='$group' or campaign_id LIKE \"CL_%\");";}
|
||||
{
|
||||
$stmt="select closer_campaigns from vicidial_campaigns where campaign_id='$group';";
|
||||
$rslt=mysql_query($stmt, $link);
|
||||
$row=mysql_fetch_row($rslt);
|
||||
$closer_campaigns = preg_replace("/^ | -$/","",$row[0]);
|
||||
$closer_campaigns = preg_replace("/ /","','",$closer_campaigns);
|
||||
$closer_campaigns = "'$closer_campaigns'";
|
||||
|
||||
$stmt="select status from vicidial_auto_calls where status NOT IN('XFER') and ( (call_type='IN' and campaign_id IN($closer_campaigns)) or (campaign_id='$group' and call_type='OUT') );";
|
||||
}
|
||||
else
|
||||
{$stmt="select status from vicidial_auto_calls where status NOT IN('XFER') and campaign_id='$group';";}
|
||||
$rslt=mysql_query($stmt, $link);
|
||||
|
||||
@@ -98,6 +98,7 @@ echo "<SELECT SIZE=1 NAME=group>\n";
|
||||
echo "</SELECT>\n";
|
||||
echo "<INPUT type=submit NAME=SUBMIT VALUE=SUBMIT> \n";
|
||||
echo "<a href=\"$PHP_SELF?group=$group&RR=40&DB=$DB\">STOP</a> | <a href=\"$PHP_SELF?group=$group&RR=4&DB=$DB\">GO</a> \n";
|
||||
echo " <a href=\"./admin.php?ADD=34&campaign_id=$group\">MODIFY</a> \n";
|
||||
echo "\n\n";
|
||||
|
||||
if (!$group) {echo "<BR><BR>please select a campaign from the pulldown above</FORM>\n"; exit;}
|
||||
|
||||
@@ -327,12 +327,13 @@ if (isset($_GET["wrapup_message"])) {$wrapup_message=$_GET["wrapup_message"]
|
||||
# - Added dialable leads count popup to campaign screen if auto-calc is disabled
|
||||
# - Added test dialable leads count popup to filter screen
|
||||
# 60510-1050 - Added Wrapup seconds and Wrapup message to campaigns screen
|
||||
# 60608-1401 - Added allowable inbound_groups checkboxes to CLOSER campaign detail screen
|
||||
#
|
||||
|
||||
# make sure you have added a user to the vicidial_users MySQL table with at least user_level 8 to access this page the first time
|
||||
|
||||
$version = '1.1.11-8';
|
||||
$build = '60510-1050';
|
||||
$version = '1.1.11-9';
|
||||
$build = '60608-1401';
|
||||
|
||||
$STARTtime = date("U");
|
||||
|
||||
@@ -555,7 +556,7 @@ if ( ($ADD>9) && ($ADD < 99998) )
|
||||
}
|
||||
}
|
||||
|
||||
if ( ( (strlen($ADD)>4) && ($ADD < 99998) ) or ($ADD==3) or ($ADD=="4A") or ($ADD=="4B") )
|
||||
if ( ( (strlen($ADD)>4) && ($ADD < 99998) ) or ($ADD==3) or ($ADD==31) or ($ADD==41) or ($ADD=="4A") or ($ADD=="4B") )
|
||||
{
|
||||
##### get server listing for dynamic pulldown
|
||||
$stmt="SELECT server_ip,server_description from servers order by server_ip";
|
||||
@@ -586,6 +587,16 @@ if ( ( (strlen($ADD)>4) && ($ADD < 99998) ) or ($ADD==3) or ($ADD=="4A") or ($A
|
||||
}
|
||||
|
||||
##### get inbound groups listing for checkboxes
|
||||
if ($ADD==31)
|
||||
{
|
||||
$stmt="SELECT closer_campaigns from vicidial_campaigns where campaign_id='$campaign_id';";
|
||||
$rslt=mysql_query($stmt, $link);
|
||||
$row=mysql_fetch_row($rslt);
|
||||
$closer_campaigns = $row[0];
|
||||
$closer_campaigns = preg_replace("/ -$/","",$closer_campaigns);
|
||||
$groups = explode(" ", $closer_campaigns);
|
||||
}
|
||||
|
||||
if ( (($ADD==31111) or ($ADD==31111)) and (count($groups)<1) )
|
||||
{
|
||||
$stmt="SELECT closer_campaigns from vicidial_remote_agents where remote_agent_id='$remote_agent_id';";
|
||||
@@ -1014,6 +1025,11 @@ echo "<TABLE WIDTH=98% BGCOLOR=#E6E6E6 cellpadding=2 cellspacing=0><TR><TD ALIGN
|
||||
<BR>
|
||||
<B>Wrapup Message -</B> This is a campaign-specific message to be displayed on the wrapup screen if wrapup seconds is set.
|
||||
|
||||
<BR>
|
||||
<A NAME="vicidial_campaigns-closer_campaigns">
|
||||
<BR>
|
||||
<B>Allowable Inbound Groups -</B> Here is where you select the inbound groups you want agents in this CLOSER campaign to be able to take calls from. It is important for BLENDED inbound/outbound campaigns only to select the inbound groups that are used for agents in this campaign.
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -2518,7 +2534,7 @@ if ($ADD==41)
|
||||
{
|
||||
echo "<br><B>CAMPAIGN MODIFIED: $campaign_id</B>\n";
|
||||
|
||||
$stmtA="UPDATE vicidial_campaigns set campaign_name='$campaign_name',active='$active',dial_status_a='$dial_status_a',dial_status_b='$dial_status_b',dial_status_c='$dial_status_c',dial_status_d='$dial_status_d',dial_status_e='$dial_status_e',lead_order='$lead_order',allow_closers='$allow_closers',hopper_level='$hopper_level', auto_dial_level='$auto_dial_level', next_agent_call='$next_agent_call', local_call_time='$local_call_time', voicemail_ext='$voicemail_ext', dial_timeout='$dial_timeout', dial_prefix='$dial_prefix', campaign_cid='$campaign_cid', campaign_vdad_exten='$campaign_vdad_exten', web_form_address='$web_form_address', park_ext='$park_ext', park_file_name='$park_file_name', campaign_rec_exten='$campaign_rec_exten', campaign_recording='$campaign_recording', campaign_rec_filename='$campaign_rec_filename', campaign_script='$script_id', get_call_launch='$get_call_launch', am_message_exten='$am_message_exten', amd_send_to_vmx='$amd_send_to_vmx', xferconf_a_dtmf='$xferconf_a_dtmf',xferconf_a_number='$xferconf_a_number', xferconf_b_dtmf='$xferconf_b_dtmf',xferconf_b_number='$xferconf_b_number',lead_filter_id='$lead_filter_id',alt_number_dialing='$alt_number_dialing',scheduled_callbacks='$scheduled_callbacks',safe_harbor_message='$safe_harbor_message',drop_call_seconds='$drop_call_seconds',safe_harbor_exten='$safe_harbor_exten',wrapup_seconds='$wrapup_seconds',wrapup_message='$wrapup_message' where campaign_id='$campaign_id';";
|
||||
$stmtA="UPDATE vicidial_campaigns set campaign_name='$campaign_name',active='$active',dial_status_a='$dial_status_a',dial_status_b='$dial_status_b',dial_status_c='$dial_status_c',dial_status_d='$dial_status_d',dial_status_e='$dial_status_e',lead_order='$lead_order',allow_closers='$allow_closers',hopper_level='$hopper_level', auto_dial_level='$auto_dial_level', next_agent_call='$next_agent_call', local_call_time='$local_call_time', voicemail_ext='$voicemail_ext', dial_timeout='$dial_timeout', dial_prefix='$dial_prefix', campaign_cid='$campaign_cid', campaign_vdad_exten='$campaign_vdad_exten', web_form_address='$web_form_address', park_ext='$park_ext', park_file_name='$park_file_name', campaign_rec_exten='$campaign_rec_exten', campaign_recording='$campaign_recording', campaign_rec_filename='$campaign_rec_filename', campaign_script='$script_id', get_call_launch='$get_call_launch', am_message_exten='$am_message_exten', amd_send_to_vmx='$amd_send_to_vmx', xferconf_a_dtmf='$xferconf_a_dtmf',xferconf_a_number='$xferconf_a_number', xferconf_b_dtmf='$xferconf_b_dtmf',xferconf_b_number='$xferconf_b_number',lead_filter_id='$lead_filter_id',alt_number_dialing='$alt_number_dialing',scheduled_callbacks='$scheduled_callbacks',safe_harbor_message='$safe_harbor_message',drop_call_seconds='$drop_call_seconds',safe_harbor_exten='$safe_harbor_exten',wrapup_seconds='$wrapup_seconds',wrapup_message='$wrapup_message', closer_campaigns='$groups_value' where campaign_id='$campaign_id';";
|
||||
$rslt=mysql_query($stmtA, $link);
|
||||
|
||||
if ($reset_hopper == 'Y')
|
||||
@@ -3848,6 +3864,7 @@ echo "<TABLE><TR><TD>\n";
|
||||
$display_dialable_count = $row[39];
|
||||
$wrapup_seconds = $row[40];
|
||||
$wrapup_message = $row[41];
|
||||
# $closer_campaigns = $row[42];
|
||||
|
||||
echo "<br>MODIFY A CAMPAIGNS RECORD: $row[0] - <a href=\"$PHP_SELF?ADD=34&campaign_id=$campaign_id\">Basic View</a>";
|
||||
echo " | Detail View</a> | ";
|
||||
@@ -3981,6 +3998,17 @@ echo "<tr bgcolor=#B6D3FC><td align=right>Wrapup Seconds: </td><td align=left><i
|
||||
|
||||
echo "<tr bgcolor=#B6D3FC><td align=right>Wrapup Message: </td><td align=left><input type=text name=wrapup_message size=40 maxlength=255 value=\"$wrapup_message\">$NWB#vicidial_campaigns-wrapup_message$NWE</td></tr>\n";
|
||||
|
||||
|
||||
if (eregi("CLOSER", $campaign_id))
|
||||
{
|
||||
echo "<tr bgcolor=#B6D3FC><td align=right>Allowed Inbound Groups: <BR>";
|
||||
echo " $NWB#vicidial_campaigns-closer_campaigns$NWE</td><td align=left>\n";
|
||||
echo "$groups_list";
|
||||
echo "</td></tr>\n";
|
||||
}
|
||||
|
||||
|
||||
|
||||
echo "<tr bgcolor=#B6D3FC><td align=center colspan=2><input type=submit name=SUBMIT value=SUBMIT></td></tr>\n";
|
||||
echo "</TABLE></center></FORM>\n";
|
||||
|
||||
|
||||
|
After Width: | Height: | Size: 780 B |
|
After Width: | Height: | Size: 886 B |
|
After Width: | Height: | Size: 880 B |
|
After Width: | Height: | Size: 881 B |
|
After Width: | Height: | Size: 459 B |
|
After Width: | Height: | Size: 2.7 KiB |
|
After Width: | Height: | Size: 984 B |
|
After Width: | Height: | Size: 1005 B |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 861 B |
|
After Width: | Height: | Size: 718 B |
|
After Width: | Height: | Size: 722 B |
|
After Width: | Height: | Size: 541 B |
|
After Width: | Height: | Size: 397 B |
|
After Width: | Height: | Size: 961 B |
|
After Width: | Height: | Size: 965 B |
|
After Width: | Height: | Size: 981 B |
|
After Width: | Height: | Size: 985 B |
|
After Width: | Height: | Size: 811 B |
|
After Width: | Height: | Size: 1.0 KiB |
|
After Width: | Height: | Size: 830 B |
|
After Width: | Height: | Size: 858 B |
|
After Width: | Height: | Size: 438 B |
|
After Width: | Height: | Size: 989 B |
|
After Width: | Height: | Size: 416 B |
|
After Width: | Height: | Size: 394 B |
|
After Width: | Height: | Size: 563 B |
|
After Width: | Height: | Size: 564 B |
|
After Width: | Height: | Size: 783 B |
|
After Width: | Height: | Size: 784 B |
|
After Width: | Height: | Size: 778 B |
|
After Width: | Height: | Size: 779 B |
|
After Width: | Height: | Size: 896 B |
|
After Width: | Height: | Size: 898 B |
|
After Width: | Height: | Size: 661 B |
|
After Width: | Height: | Size: 583 B |
|
After Width: | Height: | Size: 901 B |
|
After Width: | Height: | Size: 901 B |
|
After Width: | Height: | Size: 242 B |
|
After Width: | Height: | Size: 873 B |
|
After Width: | Height: | Size: 873 B |
|
After Width: | Height: | Size: 858 B |
|
After Width: | Height: | Size: 858 B |
|
After Width: | Height: | Size: 828 B |
|
After Width: | Height: | Size: 828 B |
|
After Width: | Height: | Size: 639 B |
|
After Width: | Height: | Size: 948 B |
|
After Width: | Height: | Size: 997 B |
|
After Width: | Height: | Size: 640 B |
|
After Width: | Height: | Size: 640 B |
|
After Width: | Height: | Size: 816 B |
|
After Width: | Height: | Size: 816 B |
|
After Width: | Height: | Size: 607 B |
|
After Width: | Height: | Size: 606 B |
|
After Width: | Height: | Size: 449 B |
|
After Width: | Height: | Size: 916 B |