2006-06-08 snapshot

git-svn-id: svn://192.168.202.10@8 3d104415-ff17-0410-8863-d5cf3c621b8a
This commit is contained in:
mattf
2006-07-07 15:25:20 +00:00
parent 3deb82a4b3
commit 7b2622b826
129 changed files with 3248 additions and 109 deletions
+17 -4
View File
@@ -40,6 +40,7 @@
# 50812-0957 - corrected max_trunks logic, added update of server every 25 sec # 50812-0957 - corrected max_trunks logic, added update of server every 25 sec
# 60120-1522 - corrected time error for hour variable, caused agi problems # 60120-1522 - corrected time error for hour variable, caused agi problems
# 60427-1223 - Fixed Blended in/out CLOSER campaign issue # 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; @DBIPexistcalls=@MT;
@DBIPgoalcalls=@MT; @DBIPgoalcalls=@MT;
@DBIPmakecalls=@MT; @DBIPmakecalls=@MT;
@DBIPclosercamp=@MT;
$active_line_counter=0; $active_line_counter=0;
$user_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 ### grab the dial_level and multiply by active agents to get your goalcalls
$DBIPadlevel[$user_CIPct]=0; $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) if ($dbhA->has_selected_record)
{ {
$iter=$dbhA->create_record_iterator; $iter=$dbhA->create_record_iterator;
@@ -250,6 +252,7 @@ while($one_day_interval > 0)
$DBIPcampaigncid[$user_CIPct] = "$record->[4]"; $DBIPcampaigncid[$user_CIPct] = "$record->[4]";
$DBIPactive[$user_CIPct] = "$record->[5]"; $DBIPactive[$user_CIPct] = "$record->[5]";
$DBIPvdadexten[$user_CIPct] = "$record->[6]"; $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 ### subtract that number from goalcalls to determine how many new
### calls need to be placed in this loop ### calls need to be placed in this loop
if ($DBIPcampaign[$user_CIPct] =~ /CLOSER/) 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');"); $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) if ($dbhA->has_selected_record)
{ {
@@ -511,7 +524,7 @@ while($one_day_interval > 0)
&event_logger; &event_logger;
### insert a SENT record to the vicidial_auto_calls table ### 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); $dbhA->query($stmtA);
### sleep for a tenth of a second to not flood the server with new calls ### sleep for a tenth of a second to not flood the server with new calls
+336
View File
@@ -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;
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
+1
View File
@@ -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ìÔùCWETÁ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ø\udI$P`ë®ÚÝu
BIN
View File
Binary file not shown.
+3
View File
@@ -0,0 +1,3 @@
ÕxZ²ýP4e5cU\ #n7#¤¸ŽHVŽêc ØÍŒÉÕxC»=æâ¸Ö¹A`ø‘a肹 ¹µBÁ+3+Õx;ÿ4ÍQ‘ªÓ‡Á¨x‹¸å¡7␍TÖÞ_¡ª°’› ÕxJöüÍB<]ÁÚ%]á‡Ð¸
]ât×]"0s Õwb2ý¡"ÙhÏÏ£&ñ 0_CÚ%‚Ø,Ï#ÁdAœÕxZ·=a#^T­I¿XV¥ØÕ¡±s6©IsBt—IrŸÕx%~´¶Â— Žb!aÏ8s‡ËaÓÍ8cFå )“8ëÕxZvý¢E„XÝÌ]#y¥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µ
BIN
View File
Binary file not shown.
+2
View File
@@ -0,0 +1,2 @@
Υχ;ϋ=PW1W#X υ[r)ΆdΡ[K±δ%7®
Υψ$ώτ£c±#2¤κ΅+)U…΅BV4FΒ¬£Α›S΄½ΥχC{4[γHnpή¥¤κ•·”£βΨbΒΟƒ`εgΈβΥχC?=εγW␍n(*ΉΆEΝn,©ΉΒΖ{Qα–εΑαΞ6¦qΥχR·=Ή!ηΖ®\Οb#΅V‰)Ή«°Λ £ΐ…h~ ΥχR»=£ ²΄Ρ“£΅η␍\%Ά.ΜΠkε‚nΝΜ\–ΥχR»=εΑ—pzΫΟαµr’δ>ά™=£΅$u ΘμΥχR»=ΟG…Ο ΘµjΥ&Οa·ΣyΟΰΧΥχCΏ<ΟΒ·+61γaΝΧΟ£pτK¦σΉΆβιηΥχ;ΎτWCΡlR΅™ƒLΤΙJΧε$Έ=R£Αf¤‡¶Υψ%>³γ##xw…bΆ ΙLMδα“Ω}‰Οbj&‡V¤ΥψϊμΉΰΉκ:3 ¥αΤέk¶Ία+[µ? ΅ΰ®kSΥψ%vσ£A¥bY—ΨΝ•9‹‰λ7©ΰέ‘Ψε
BIN
View File
Binary file not shown.
+2
View File
@@ -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‘¡Š²ŽUQ¡\ÔÆ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
BIN
View File
Binary file not shown.
+1
View File
@@ -0,0 +1 @@
Õxj·=P3cWc•T qFÜš$·DV•ìD%CHÕxS<UÖkoà“Â6±RˆÙU¢t¤.5\U¾”¡Æ+Õxj·=§B¾”ÅÄd§‰`ɼTUÁ 9D§!ÂòR‰YÕwrw=Ï RQÅSÂq9aÖUÂ:²Žšè‘‚cxIÕ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#hS¢H;K)Õxbû=mAâ¹K&²«¡µÊÐ^WW¡›CÈjg“¡¦ú’ŠäÕxbû=§¡óUÁ5q^ƒåŠÓ©ÆÝSÂ;L­fŸÕw’.ýåÂÙPÞS¡ Ó¥ÊÜFär6zœA[´»M­
BIN
View File
Binary file not shown.
+1
View File
@@ -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√ЦбРo SуЬ.>УЕ║W╓╡XW│ТlK%aЕ║.у▄ТЯ╧бл╘ь╜ж4╧Й╬Ел+MЛv_dх≈к╠.┘кЯ#╣IZAьЪ⌡Y╣
BIN
View File
Binary file not shown.
+2
View File
@@ -0,0 +1,2 @@
Õ8šê½PRá•=:¢^
àÜr(ÛžfMÑ[àE8‡Á‘Õ8¢®½áƒv†G—(QE!”fÝ…ã ¢­Q[…¢¬O*Ö©Ôúrû<ÓHWSœ€áw“tÖ8ÜÁµDÅÆxí"IGDèÔüLÔ:RŠÄ«ÁUX¹…¢É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)SdÞ­U9Æáñ"<55ÅÔûc¿=ÕÁŒÛ‰ømábÛÂSc_žÜ©äëáÂH¬UÉDÔù{7=_!1˜Ö¥•!‰S©Ô왩¸ãn:5P!kuÚëæ
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
+2
View File
@@ -0,0 +1,2 @@
Õø\}PcÈ£P tÛ†§¬D#E)¤™î#àÑi(*ÕøEÿ3yÂBãF:W£Ì×2›¢ÓÔ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‚nfy¢.7©FW‚•š©ó)Õ÷{?<y踥¾:y‚ŒkmņWÃYk‹™¢,sņոk¿3WávÛ§'“WA«k5ËÍAó0”u*ï!¼eS␍ÕøM¾êy¡«ªcÍyâJ㫉ŠwqÇ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â¿íÇÊ!ï÷ûýö
Binary file not shown.
Binary file not shown.
+2
View File
@@ -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ì
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
+3 -1
View File
@@ -314,6 +314,7 @@ channel VARCHAR(100),
phone_code VARCHAR(10), phone_code VARCHAR(10),
phone_number VARCHAR(10), phone_number VARCHAR(10),
call_time DATETIME, call_time DATETIME,
call_type ENUM('IN','OUT') default 'OUT',
index (uniqueid), index (uniqueid),
index (callerid), index (callerid),
index (call_time) index (call_time)
@@ -466,7 +467,8 @@ safe_harbor_message ENUM('Y','N') default 'N',
safe_harbor_exten VARCHAR(20) default '8307', safe_harbor_exten VARCHAR(20) default '8307',
display_dialable_count ENUM('Y','N') default 'Y', display_dialable_count ENUM('Y','N') default 'Y',
wrapup_seconds SMALLINT(3) UNSIGNED default '0', 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 ( CREATE TABLE vicidial_lists (
+4 -1
View File
@@ -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 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 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 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 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 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 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 Added Call Wrapup option and screen with override link to skip out early
############################################################ ############################################################ MANAGER MANUAL
Added Allowable Inbound Groups to CLOSER Campaign Detail screen
Binary file not shown.
+1
View File
@@ -63,6 +63,7 @@ echo "<SELECT SIZE=1 NAME=group>\n";
} }
echo "</SELECT>\n"; echo "</SELECT>\n";
echo "<INPUT TYPE=submit NAME=SUBMIT VALUE=SUBMIT>\n"; echo "<INPUT TYPE=submit NAME=SUBMIT VALUE=SUBMIT>\n";
echo " &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href=\"./admin.php?ADD=3111&group_id=$group\">MODIFY</a> \n";
echo "</FORM>\n\n"; echo "</FORM>\n\n";
echo "<PRE><FONT SIZE=2>\n\n"; echo "<PRE><FONT SIZE=2>\n\n";
+1
View File
@@ -65,6 +65,7 @@ echo "<SELECT SIZE=1 NAME=group>\n";
} }
echo "</SELECT>\n"; echo "</SELECT>\n";
echo "<INPUT type=submit NAME=SUBMIT VALUE=SUBMIT>\n"; echo "<INPUT type=submit NAME=SUBMIT VALUE=SUBMIT>\n";
echo " &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href=\"./admin.php?ADD=34&campaign_id=$group\">MODIFY</a> \n";
echo "</FORM>\n\n"; echo "</FORM>\n\n";
echo "<PRE><FONT SIZE=2>\n\n"; echo "<PRE><FONT SIZE=2>\n\n";
+1
View File
@@ -64,6 +64,7 @@ echo "<SELECT SIZE=1 NAME=group>\n";
} }
echo "</SELECT>\n"; echo "</SELECT>\n";
echo "<INPUT TYPE=SUBMIT NAME=SUBMIT VALUE=SUBMIT>\n"; echo "<INPUT TYPE=SUBMIT NAME=SUBMIT VALUE=SUBMIT>\n";
echo " &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href=\"./admin.php?ADD=34&campaign_id=$group\">MODIFY</a> \n";
echo "</FORM>\n\n"; echo "</FORM>\n\n";
echo "<PRE><FONT SIZE=2>\n\n"; echo "<PRE><FONT SIZE=2>\n\n";
+1
View File
@@ -69,6 +69,7 @@ echo "<option selected value=\"AM\">AM</option>\n";
echo "<option value=\"PM\">PM</option>\n"; echo "<option value=\"PM\">PM</option>\n";
echo "</SELECT>\n"; echo "</SELECT>\n";
echo "<INPUT TYPE=SUBMIT NAME=SUBMIT VALUE=SUBMIT>\n"; echo "<INPUT TYPE=SUBMIT NAME=SUBMIT VALUE=SUBMIT>\n";
echo " &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href=\"./admin.php?ADD=34&campaign_id=$group\">MODIFY</a> \n";
echo "</FORM>\n\n"; echo "</FORM>\n\n";
echo "<PRE><FONT SIZE=2>\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 "<option value=\"PM\">PM</option>\n";
echo "</SELECT>\n"; echo "</SELECT>\n";
echo "<INPUT TYPE=SUBMIT NAME=SUBMIT VALUE=SUBMIT>\n"; echo "<INPUT TYPE=SUBMIT NAME=SUBMIT VALUE=SUBMIT>\n";
echo " &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href=\"./admin.php?ADD=34&campaign_id=$group\">MODIFY</a> \n";
echo "</FORM>\n\n"; echo "</FORM>\n\n";
echo "<PRE><FONT SIZE=2>\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>
+1
View File
@@ -63,6 +63,7 @@ echo "<SELECT SIZE=1 NAME=group>\n";
} }
echo "</SELECT>\n"; echo "</SELECT>\n";
echo "<INPUT TYPE=SUBMIT NAME=SUBMIT VALUE=SUBMIT>\n"; echo "<INPUT TYPE=SUBMIT NAME=SUBMIT VALUE=SUBMIT>\n";
echo " &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href=\"./admin.php?ADD=34&campaign_id=$group\">MODIFY</a> \n";
echo "</FORM>\n\n"; echo "</FORM>\n\n";
echo "<PRE><FONT SIZE=2>\n\n"; echo "<PRE><FONT SIZE=2>\n\n";
+11 -1
View File
@@ -10,6 +10,7 @@
# 51130-1218 - Modified layout and info to show all servers in a vicidial system # 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 # 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 # 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"); header ("Content-type: text/html; charset=utf-8");
@@ -164,7 +165,16 @@ echo "</FORM>\n\n";
###### OUTBOUND CALLS ###### OUTBOUND CALLS
################################################################################### ###################################################################################
if (eregi("CLOSER",$group)) 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 else
{$stmt="select status from vicidial_auto_calls where status NOT IN('XFER') and campaign_id='$group';";} {$stmt="select status from vicidial_auto_calls where status NOT IN('XFER') and campaign_id='$group';";}
$rslt=mysql_query($stmt, $link); $rslt=mysql_query($stmt, $link);
@@ -98,6 +98,7 @@ echo "<SELECT SIZE=1 NAME=group>\n";
echo "</SELECT>\n"; echo "</SELECT>\n";
echo "<INPUT type=submit NAME=SUBMIT VALUE=SUBMIT> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \n"; echo "<INPUT type=submit NAME=SUBMIT VALUE=SUBMIT> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \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=\"$PHP_SELF?group=$group&RR=40&DB=$DB\">STOP</a> | <a href=\"$PHP_SELF?group=$group&RR=4&DB=$DB\">GO</a> \n";
echo " &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href=\"./admin.php?ADD=34&campaign_id=$group\">MODIFY</a> \n";
echo "\n\n"; echo "\n\n";
if (!$group) {echo "<BR><BR>please select a campaign from the pulldown above</FORM>\n"; exit;} if (!$group) {echo "<BR><BR>please select a campaign from the pulldown above</FORM>\n"; exit;}
+32 -4
View File
@@ -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 dialable leads count popup to campaign screen if auto-calc is disabled
# - Added test dialable leads count popup to filter screen # - Added test dialable leads count popup to filter screen
# 60510-1050 - Added Wrapup seconds and Wrapup message to campaigns 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 # 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'; $version = '1.1.11-9';
$build = '60510-1050'; $build = '60608-1401';
$STARTtime = date("U"); $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 ##### get server listing for dynamic pulldown
$stmt="SELECT server_ip,server_description from servers order by server_ip"; $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 ##### 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) ) 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';"; $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> <BR>
<B>Wrapup Message -</B> This is a campaign-specific message to be displayed on the wrapup screen if wrapup seconds is set. <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"; 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); $rslt=mysql_query($stmtA, $link);
if ($reset_hopper == 'Y') if ($reset_hopper == 'Y')
@@ -3848,6 +3864,7 @@ echo "<TABLE><TR><TD>\n";
$display_dialable_count = $row[39]; $display_dialable_count = $row[39];
$wrapup_seconds = $row[40]; $wrapup_seconds = $row[40];
$wrapup_message = $row[41]; $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 "<br>MODIFY A CAMPAIGNS RECORD: $row[0] - <a href=\"$PHP_SELF?ADD=34&campaign_id=$campaign_id\">Basic View</a>";
echo " | Detail 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"; 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 "<tr bgcolor=#B6D3FC><td align=center colspan=2><input type=submit name=SUBMIT value=SUBMIT></td></tr>\n";
echo "</TABLE></center></FORM>\n"; echo "</TABLE></center></FORM>\n";
Binary file not shown.

After

Width:  |  Height:  |  Size: 780 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 886 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 880 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 881 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 459 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 984 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1005 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 861 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 718 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 722 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 541 B

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 397 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 961 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 965 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 981 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 985 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 811 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 830 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 858 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 438 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 989 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 416 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 394 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 563 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 564 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 783 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 784 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 778 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 779 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 896 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 898 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 661 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 583 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 901 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 901 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 242 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 873 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 873 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 858 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 858 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 828 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 828 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 639 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 948 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 997 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 640 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 640 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 816 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 816 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 607 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 606 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 449 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 916 B

Some files were not shown because too many files have changed in this diff Show More