updated builds of LANG_www scripts

git-svn-id: svn://192.168.202.10@262 3d104415-ff17-0410-8863-d5cf3c621b8a
This commit is contained in:
mattf
2006-09-08 20:18:40 +00:00
parent 423cd8d148
commit bb610ae9ef
61 changed files with 2454 additions and 618 deletions
+54 -2
View File
@@ -108,9 +108,11 @@
# 60623-1414 - Fixed variable filter for phone_code and fixed manual dial logic
# 60821-1600 - Added ability to omit the phone code on vicidial lead dialing
# 60821-1647 - Added ability to not delete sessions at logout
# 60906-1124 - Added lookup and sending of callback data for CALLBK calls
#
$version = '2.0.36';
$build = '60821-1647';
$version = '2.0.37';
$build = '60906-1124';
require("dbconnect.php");
@@ -498,6 +500,27 @@ if ($ACTION == 'manDiaLnextCaLL')
$called_count++;
##### if lead is a callback, grab the callback comments
$CBentry_time = '';
$CBcallback_time = '';
$CBuser = '';
$CBcomments = '';
if (ereg("CALLBK",$dispo))
{
$stmt="SELECT entry_time,callback_time,user,comments FROM vicidial_callbacks where lead_id='$lead_id' order by callback_id desc LIMIT 1;";
$rslt=mysql_query($stmt, $link);
if ($DB) {echo "$stmt\n";}
$cb_record_ct = mysql_num_rows($rslt);
if ($cb_record_ct > 0)
{
$row=mysql_fetch_row($rslt);
$CBentry_time = trim("$row[0]");
$CBcallback_time = trim("$row[1]");
$CBuser = trim("$row[2]");
$CBcomments = trim("$row[3]");
}
}
### flag the lead as called and change it's status to INCALL
$stmt = "UPDATE vicidial_list set status='INCALL', called_since_last_reset='Y', called_count='$called_count',user='$user' where lead_id='$lead_id';";
if ($DB) {echo "$stmt\n";}
@@ -582,6 +605,10 @@ if ($ACTION == 'manDiaLnextCaLL')
$LeaD_InfO .= $security . "\n";
$LeaD_InfO .= $comments . "\n";
$LeaD_InfO .= $called_count . "\n";
$LeaD_InfO .= $CBentry_time . "\n";
$LeaD_InfO .= $CBcallback_time . "\n";
$LeaD_InfO .= $CBuser . "\n";
$LeaD_InfO .= $CBcomments . "\n";
echo $LeaD_InfO;
@@ -1076,6 +1103,27 @@ if ($ACTION == 'VDADcheckINCOMING')
$called_count = trim("$row[30]");
}
##### if lead is a callback, grab the callback comments
$CBentry_time = '';
$CBcallback_time = '';
$CBuser = '';
$CBcomments = '';
if (ereg("CALLBK",$dispo))
{
$stmt="SELECT entry_time,callback_time,user,comments FROM vicidial_callbacks where lead_id='$lead_id' order by callback_id desc LIMIT 1;";
$rslt=mysql_query($stmt, $link);
if ($DB) {echo "$stmt\n";}
$cb_record_ct = mysql_num_rows($rslt);
if ($cb_record_ct > 0)
{
$row=mysql_fetch_row($rslt);
$CBentry_time = trim("$row[0]");
$CBcallback_time = trim("$row[1]");
$CBuser = trim("$row[2]");
$CBcomments = trim("$row[3]");
}
}
### update the lead status to INCALL
$stmt = "UPDATE vicidial_list set status='INCALL', user='$user' where lead_id='$lead_id';";
if ($DB) {echo "$stmt\n";}
@@ -1215,6 +1263,10 @@ if ($ACTION == 'VDADcheckINCOMING')
$LeaD_InfO .= $security . "\n";
$LeaD_InfO .= $comments . "\n";
$LeaD_InfO .= $called_count . "\n";
$LeaD_InfO .= $CBentry_time . "\n";
$LeaD_InfO .= $CBcallback_time . "\n";
$LeaD_InfO .= $CBuser . "\n";
$LeaD_InfO .= $CBcomments . "\n";
echo $LeaD_InfO;
+82 -19
View File
@@ -124,6 +124,8 @@
# 60821-1643 - Added no_delete_sessions option to not delete sessions
# 60822-0512 - Changed phone number fields to be maxlength of 12
# 60829-1531 - Made compatible with WeBRooTWritablE setting in dbconnect.php
# 60906-1152 - Added Previous CallBack info display span
# 60906-1715 - Allow for Local phone extension conferences
#
require("dbconnect.php");
@@ -169,8 +171,8 @@ if (isset($_GET["relogin"])) {$relogin=$_GET["relogin"];}
$forever_stop=0;
$version = '2.0.97';
$build = '60829-1531';
$version = '2.0.99';
$build = '60906-1715';
if ($force_logout)
{
@@ -1386,6 +1388,10 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
var no_delete_sessions = '<? echo $no_delete_sessions ?>';
var webform_session = '<? echo $webform_sessionname ?>';
var local_consult_xfers = '<? echo $local_consult_xfers ?>';
var CBentry_time = '';
var CBcallback_time = '';
var CBuser = '';
var CBcomments = '';
var DiaLControl_auto_HTML = "<IMG SRC=\"./images/vdc_LB_pause_OFF.gif\" border=0 alt=\"Pause\"><a href=\"#\" onclick=\"AutoDial_ReSume_PauSe('VDADready');\"><IMG SRC=\"./images/vdc_LB_resume.gif\" border=0 alt=\"Resume\"></a>";
var DiaLControl_auto_HTML_ready = "<a href=\"#\" onclick=\"AutoDial_ReSume_PauSe('VDADpause');\"><IMG SRC=\"./images/vdc_LB_pause.gif\" border=0 alt=\"Pause\"></a><IMG SRC=\"./images/vdc_LB_resume_OFF.gif\" border=0 alt=\"Resume\">";
var DiaLControl_auto_HTML_OFF = "<IMG SRC=\"./images/vdc_LB_pause_OFF.gif\" border=0 alt=\"Pause\"><IMG SRC=\"./images/vdc_LB_resume_OFF.gif\" border=0 alt=\"Resume\">";
@@ -1550,7 +1556,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
}
}
if (taskFromConf == 'YES')
{basic_originate_call(manual_string,'NO','YES',dial_conf_exten);}
{basic_originate_call(manual_string,'NO','YES',dial_conf_exten,'NO',taskFromConf);}
else
{basic_originate_call(manual_string,'NO','NO');}
@@ -1559,7 +1565,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
// ################################################################################
// Send Originate command to manager to place a phone call
function basic_originate_call(tasknum,taskprefix,taskreverse,taskdialvalue,tasknowait)
function basic_originate_call(tasknum,taskprefix,taskreverse,taskdialvalue,tasknowait,taskconfxfer)
{
var xmlhttp=false;
/*@cc_on @*/
@@ -1628,7 +1634,10 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
}
var originatevalue = protodial + "/" + extendial;
}
var queryCID = "DVagcW" + epoch_sec + user_abb;
if (taskconfxfer == 'YES')
{var queryCID = "DCagcW" + epoch_sec + user_abb;}
else
{var queryCID = "DVagcW" + epoch_sec + user_abb;}
VMCoriginate_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=Originate&format=text&channel=" + originatevalue + "&queryCID=" + queryCID + "&exten=" + orig_prefix + "" + dialnum + "&ext_context=" + ext_context + "&ext_priority=1&outbound_cid=" + campaign_cid;
xmlhttp.open('POST', 'manager_send.php');
@@ -2543,7 +2552,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
{
XDuniqueid = MDlookResponse_array[0];
XDchannel = MDlookResponse_array[1];
if ( (XDchannel.match(regMDL)) && (asterisk_version != '1.0.8') && (asterisk_version != '1.0.9') )
if ( (XDchannel.match(regMDL)) && (asterisk_version != '1.0.8') && (asterisk_version != '1.0.9') && (MD_ring_secondS < 10) )
{
// bad grab of Local channel, try again
MD_ring_secondS++;
@@ -2731,6 +2740,10 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
document.vicidial_form.called_count.value = MDnextResponse_array[27];
previous_called_count = MDnextResponse_array[27];
previous_dispo = MDnextResponse_array[2];
CBentry_time = MDnextResponse_array[28];
CBcallback_time = MDnextResponse_array[29];
CBuser = MDnextResponse_array[30];
CBcomments = MDnextResponse_array[31];
lead_dial_number = document.vicidial_form.phone_number.value;
document.getElementById("MainStatuSSpan").innerHTML = " Calling: " + document.vicidial_form.phone_number.value + " UID: " + MDnextCID + " &nbsp; " + man_status;
@@ -2796,6 +2809,11 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
{
document.getElementById("CusTInfOSpaN").innerHTML = " <B> PREVIOUS CALLBACK </B>";
document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor;
document.getElementById("CBcommentsBoxA").innerHTML = "<b>Last Call: </b>" + CBentry_time;
document.getElementById("CBcommentsBoxB").innerHTML = "<b>CallBack: </b>" + CBcallback_time;
document.getElementById("CBcommentsBoxC").innerHTML = "<b>Agent: </b>" + CBuser;
document.getElementById("CBcommentsBoxD").innerHTML = "<b>Comments: </b><br>" + CBcomments;
showDiv('CBcommentsBox');
}
var regWFAvars = new RegExp("\\?","ig");
@@ -3294,6 +3312,10 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
check_VDIC_array[30] = check_VDIC_array[30].replace(REGcommentsNL, "\n");
document.vicidial_form.comments.value = check_VDIC_array[30];
document.vicidial_form.called_count.value = check_VDIC_array[31];
CBentry_time = check_VDIC_array[32];
CBcallback_time = check_VDIC_array[33];
CBuser = check_VDIC_array[34];
CBcomments = check_VDIC_array[35];
lead_dial_number = document.vicidial_form.phone_number.value;
document.getElementById("MainStatuSSpan").innerHTML = " Incoming: " + document.vicidial_form.phone_number.value + " UID: " + CIDcheck + " &nbsp; " + VDIC_fronter;
@@ -3302,6 +3324,11 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
{
document.getElementById("CusTInfOSpaN").innerHTML = " <B> PREVIOUS CALLBACK </B>";
document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor;
document.getElementById("CBcommentsBoxA").innerHTML = "<b>Last Call: </b>" + CBentry_time;
document.getElementById("CBcommentsBoxB").innerHTML = "<b>CallBack: </b>" + CBcallback_time;
document.getElementById("CBcommentsBoxC").innerHTML = "<b>Agent: </b>" + CBuser;
document.getElementById("CBcommentsBoxD").innerHTML = "<b>Comments: </b><br>" + CBcomments;
showDiv('CBcommentsBox');
}
if (VDIC_data_VDIG[1].length > 0)
@@ -4045,6 +4072,8 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
document.getElementById("DispoSelectMaxMin").innerHTML = "<a href=\"#\" onclick=\"DispoMinimize()\">minimize</a>";
document.getElementById("DispoSelectHAspan").innerHTML = "<a href=\"#\" onclick=\"DispoHanguPAgaiN()\">Hangup Again</a>";
CBcommentsBoxhide();
AgentDispoing = 0;
if (wrapup_waiting == 0)
@@ -4553,6 +4582,22 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
}
// ################################################################################
// Hide the CBcommentsBox span upon click
function CBcommentsBoxhide()
{
CBentry_time = '';
CBcallback_time = '';
CBuser = '';
CBcomments = '';
document.getElementById("CBcommentsBoxA").innerHTML = "";
document.getElementById("CBcommentsBoxB").innerHTML = "";
document.getElementById("CBcommentsBoxC").innerHTML = "";
document.getElementById("CBcommentsBoxD").innerHTML = "";
hideDiv('CBcommentsBox');
}
// ################################################################################
// Populating the date field in the callback frame prior to submission
function CB_date_pick(taskdate)
@@ -4638,6 +4683,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
if (VICIDiaL_closer_login_checked==0)
{
hideDiv('NothingBox');
hideDiv('CBcommentsBox');
hideDiv('HotKeyActionBox');
hideDiv('HotKeyEntriesBox');
hideDiv('MainXfeRBox');
@@ -5237,7 +5283,7 @@ echo "</head>\n";
<span id="CBstatusSpan">X ACTIVE CALLBACKS</span> <BR>
</font></span>
<span style="position:absolute;left:0px;top:0px;z-index:35;" id="CallBacKsLisTBox">
<span style="position:absolute;left:0px;top:0px;z-index:36;" id="CallBacKsLisTBox">
<table border=1 bgcolor="#CCFFCC" width=650 height=460><TR><TD align=center VALIGN=top> CALLBACKS FOR AGENT <? echo $VD_login ?>:<BR>Click on a callback below to call the customer back now. If you click on a record below to call it, it will be removed from the list.
<BR>
<div class="scroll_callback" id="CallBacKsLisT"></div>
@@ -5248,7 +5294,7 @@ echo "</head>\n";
</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:36;" id="NeWManuaLDiaLBox">
<span style="position:absolute;left:0px;top:0px;z-index:37;" id="NeWManuaLDiaLBox">
<table border=1 bgcolor="#CCFFCC" width=650 height=460><TR><TD align=center VALIGN=top> NEW MANUAL DIAL LEAD FOR <? echo "$VD_login in campaign $VD_campaign" ?>:<BR><BR>Enter information below for the new lead you wish to call.
<BR>
<?
@@ -5344,7 +5390,24 @@ Your Status: <span id="AgentStatusStatus"></span> <BR>Calls Dialing: <span id="A
</TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:12px;z-index:24;" id="NoneInSessionBox">
<span style="position:absolute;left:5px;top:310px;z-index:24;" id="CBcommentsBox">
<table border=0 bgcolor="#FFFFCC" width=620 height=70>
<TR bgcolor="#FFFF66">
<TD align=left><font class="sh_text"> Previous Callback Information: </font></td>
<TD align=right><font class="sk_text"> <a href="#" onclick="CBcommentsBoxhide();return false;">close</a> </font></td>
</tr><tr>
<TD><font class="sk_text">
<span id="CBcommentsBoxA"></span><BR>
<span id="CBcommentsBoxB"></span><BR>
<span id="CBcommentsBoxC"></span><BR>
</font></TD>
<TD width=320><font class="sk_text">
<span id="CBcommentsBoxD"></span>
</font></TD>
</TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:12px;z-index:25;" id="NoneInSessionBox">
<table border=1 bgcolor="#CCFFFF" width=600 height=500><TR><TD align=center> Noone is in your session: <span id="NoneInSessionID"></span><BR>
<a href="#" onclick="NoneInSessionOK();return false;">Go Back</a>
<BR><BR>
@@ -5352,7 +5415,7 @@ Your Status: <span id="AgentStatusStatus"></span> <BR>Calls Dialing: <span id="A
</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:25;" id="CustomerGoneBox">
<span style="position:absolute;left:0px;top:0px;z-index:26;" id="CustomerGoneBox">
<table border=1 bgcolor="#CCFFFF" width=650 height=500><TR><TD align=center> Customer has hung up: <span id="CustomerGoneChanneL"></span><BR>
<a href="#" onclick="CustomerGoneOK();return false;">Go Back</a>
<BR><BR>
@@ -5361,7 +5424,7 @@ Your Status: <span id="AgentStatusStatus"></span> <BR>Calls Dialing: <span id="A
</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:26;" id="WrapupBox">
<span style="position:absolute;left:0px;top:0px;z-index:27;" id="WrapupBox">
<table border=1 bgcolor="#CCFFCC" width=650 height=550><TR><TD align=center> Call Wrapup: <span id="WrapupTimer"></span> seconds remaining in wrapup<BR><BR>
<span id="WrapupMessage"><?=$wrapup_message ?></span>
<BR><BR>
@@ -5370,23 +5433,23 @@ Your Status: <span id="AgentStatusStatus"></span> <BR>Calls Dialing: <span id="A
</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:27;" id="LogouTBox">
<span style="position:absolute;left:0px;top:0px;z-index:28;" id="LogouTBox">
<table border=1 bgcolor="#FFFFFF" width=650 height=500><TR><TD align=center><BR><span id="LogouTBoxLink">LOGOUT</span></TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:70px;z-index:28;" id="DispoButtonHideA">
<span style="position:absolute;left:0px;top:70px;z-index:29;" id="DispoButtonHideA">
<table border=0 bgcolor="#CCFFCC" width=165 height=22><TR><TD align=center VALIGN=top></TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:138px;z-index:29;" id="DispoButtonHideB">
<span style="position:absolute;left:0px;top:138px;z-index:30;" id="DispoButtonHideB">
<table border=0 bgcolor="#CCFFCC" width=165 height=250><TR><TD align=center VALIGN=top>&nbsp;</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:30;" id="DispoButtonHideC">
<span style="position:absolute;left:0px;top:0px;z-index:31;" id="DispoButtonHideC">
<table border=0 bgcolor="#CCFFCC" width=650 height=47><TR><TD align=center VALIGN=top>Any changes made to the customer information below at this time will not be comitted, You must change customer information before you Hangup the call. </TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:31;" id="DispoSelectBox">
<span style="position:absolute;left:0px;top:0px;z-index:32;" id="DispoSelectBox">
<table border=1 bgcolor="#CCFFCC" width=650 height=460><TR><TD align=center VALIGN=top> DISPOSITION CALL :<span id="DispoSelectPhonE"></span> &nbsp; &nbsp; &nbsp; <span id="DispoSelectHAspan"><a href="#" onclick="DispoHanguPAgaiN()">Hangup Again</a></span> &nbsp; &nbsp; &nbsp; <span id="DispoSelectMaxMin"><a href="#" onclick="DispoMinimize()">minimize</a></span><BR>
<span id="DispoSelectContent"> End-of-call Disposition Selection </span>
<input type=hidden name=DispoSelection><BR>
@@ -5400,7 +5463,7 @@ Your Status: <span id="AgentStatusStatus"></span> <BR>Calls Dialing: <span id="A
</span>
<span style="position:absolute;left:0px;top:0px;z-index:32;" id="CallBackSelectBox">
<span style="position:absolute;left:0px;top:0px;z-index:33;" id="CallBackSelectBox">
<table border=1 bgcolor="#CCFFCC" width=650 height=460><TR><TD align=center VALIGN=top> Select a CallBack Date :<span id="CallBackDatE"></span><BR>
<input type=hidden name=CallBackDatESelectioN>
<input type=hidden name=CallBackTimESelectioN>
@@ -5443,7 +5506,7 @@ Your Status: <span id="AgentStatusStatus"></span> <BR>Calls Dialing: <span id="A
</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:33;" id="CloserSelectBox">
<span style="position:absolute;left:0px;top:0px;z-index:34;" id="CloserSelectBox">
<table border=1 bgcolor="#CCFFCC" width=650 height=460><TR><TD align=center VALIGN=top> CLOSER INBOUND GROUP SELECTION <BR>
<span id="CloserSelectContent"> Closer Inbound Group Selection </span>
<input type=hidden name=CloserSelectList><BR>
@@ -5454,7 +5517,7 @@ Your Status: <span id="AgentStatusStatus"></span> <BR>Calls Dialing: <span id="A
</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:34;" id="NothingBox">
<span style="position:absolute;left:0px;top:0px;z-index:35;" id="NothingBox">
<BUTTON Type=button name="inert_button"><img src="./images/blank.gif"></BUTTON>
<span id="DiaLLeaDPrevieWHide">Channel</span>
<span id="DiaLDiaLAltPhonEHide">Channel</span>
+54 -2
View File
@@ -108,9 +108,11 @@
# 60623-1414 - Fixed variable filter for phone_code and fixed manual dial logic
# 60821-1600 - Added ability to omit the phone code on vicidial lead dialing
# 60821-1647 - Added ability to not delete sessions at logout
# 60906-1124 - Added lookup and sending of callback data for CALLBK calls
#
$version = '2.0.36';
$build = '60821-1647';
$version = '2.0.37';
$build = '60906-1124';
require("dbconnect.php");
@@ -498,6 +500,27 @@ if ($ACTION == 'manDiaLnextCaLL')
$called_count++;
##### if lead is a callback, grab the callback comments
$CBentry_time = '';
$CBcallback_time = '';
$CBuser = '';
$CBcomments = '';
if (ereg("CALLBK",$dispo))
{
$stmt="SELECT entry_time,callback_time,user,comments FROM vicidial_callbacks where lead_id='$lead_id' order by callback_id desc LIMIT 1;";
$rslt=mysql_query($stmt, $link);
if ($DB) {echo "$stmt\n";}
$cb_record_ct = mysql_num_rows($rslt);
if ($cb_record_ct > 0)
{
$row=mysql_fetch_row($rslt);
$CBentry_time = trim("$row[0]");
$CBcallback_time = trim("$row[1]");
$CBuser = trim("$row[2]");
$CBcomments = trim("$row[3]");
}
}
### flag the lead as called and change it's status to INCALL
$stmt = "UPDATE vicidial_list set status='INCALL', called_since_last_reset='Y', called_count='$called_count',user='$user' where lead_id='$lead_id';";
if ($DB) {echo "$stmt\n";}
@@ -582,6 +605,10 @@ if ($ACTION == 'manDiaLnextCaLL')
$LeaD_InfO .= $security . "\n";
$LeaD_InfO .= $comments . "\n";
$LeaD_InfO .= $called_count . "\n";
$LeaD_InfO .= $CBentry_time . "\n";
$LeaD_InfO .= $CBcallback_time . "\n";
$LeaD_InfO .= $CBuser . "\n";
$LeaD_InfO .= $CBcomments . "\n";
echo $LeaD_InfO;
@@ -1076,6 +1103,27 @@ if ($ACTION == 'VDADcheckINCOMING')
$called_count = trim("$row[30]");
}
##### if lead is a callback, grab the callback comments
$CBentry_time = '';
$CBcallback_time = '';
$CBuser = '';
$CBcomments = '';
if (ereg("CALLBK",$dispo))
{
$stmt="SELECT entry_time,callback_time,user,comments FROM vicidial_callbacks where lead_id='$lead_id' order by callback_id desc LIMIT 1;";
$rslt=mysql_query($stmt, $link);
if ($DB) {echo "$stmt\n";}
$cb_record_ct = mysql_num_rows($rslt);
if ($cb_record_ct > 0)
{
$row=mysql_fetch_row($rslt);
$CBentry_time = trim("$row[0]");
$CBcallback_time = trim("$row[1]");
$CBuser = trim("$row[2]");
$CBcomments = trim("$row[3]");
}
}
### update the lead status to INCALL
$stmt = "UPDATE vicidial_list set status='INCALL', user='$user' where lead_id='$lead_id';";
if ($DB) {echo "$stmt\n";}
@@ -1215,6 +1263,10 @@ if ($ACTION == 'VDADcheckINCOMING')
$LeaD_InfO .= $security . "\n";
$LeaD_InfO .= $comments . "\n";
$LeaD_InfO .= $called_count . "\n";
$LeaD_InfO .= $CBentry_time . "\n";
$LeaD_InfO .= $CBcallback_time . "\n";
$LeaD_InfO .= $CBuser . "\n";
$LeaD_InfO .= $CBcomments . "\n";
echo $LeaD_InfO;
+82 -19
View File
@@ -124,6 +124,8 @@
# 60821-1643 - Added no_delete_sessions option to not delete sessions
# 60822-0512 - Changed phone number fields to be maxlength of 12
# 60829-1531 - Made compatible with WeBRooTWritablE setting in dbconnect.php
# 60906-1152 - Added Previous CallBack info display span
# 60906-1715 - Allow for Local phone extension conferences
#
require("dbconnect.php");
@@ -169,8 +171,8 @@ if (isset($_GET["relogin"])) {$relogin=$_GET["relogin"];}
$forever_stop=0;
$version = '2.0.97';
$build = '60829-1531';
$version = '2.0.99';
$build = '60906-1715';
if ($force_logout)
{
@@ -1386,6 +1388,10 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
var no_delete_sessions = '<? echo $no_delete_sessions ?>';
var webform_session = '<? echo $webform_sessionname ?>';
var local_consult_xfers = '<? echo $local_consult_xfers ?>';
var CBentry_time = '';
var CBcallback_time = '';
var CBuser = '';
var CBcomments = '';
var DiaLControl_auto_HTML = "<IMG SRC=\"../agc/images/vdc_LB_pause_OFF_ptbr.gif\" border=0 alt=\"Pausa\"><a href=\"#\" onclick=\"AutoDial_ReSume_PauSe('VDADready');\"><IMG SRC=\"../agc/images/vdc_LB_resume_ptbr.gif\" border=0 alt=\"Início\"></a>";
var DiaLControl_auto_HTML_ready = "<a href=\"#\" onclick=\"AutoDial_ReSume_PauSe('VDADpause');\"><IMG SRC=\"../agc/images/vdc_LB_pause_ptbr.gif\" border=0 alt=\"Pausa\"></a><IMG SRC=\"../agc/images/vdc_LB_resume_OFF_ptbr.gif\" border=0 alt=\"Início\">";
var DiaLControl_auto_HTML_OFF = "<IMG SRC=\"../agc/images/vdc_LB_pause_OFF_ptbr.gif\" border=0 alt=\"Pausa\"><IMG SRC=\"../agc/images/vdc_LB_resume_OFF_ptbr.gif\" border=0 alt=\"Início\">";
@@ -1550,7 +1556,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
}
}
if (taskFromConf == 'YES')
{basic_originate_call(manual_string,'NO','YES',dial_conf_exten);}
{basic_originate_call(manual_string,'NO','YES',dial_conf_exten,'NO',taskFromConf);}
else
{basic_originate_call(manual_string,'NO','NO');}
@@ -1559,7 +1565,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
// ################################################################################
// Send Originate command to manager to place a phone call
function basic_originate_call(tasknum,taskprefix,taskreverse,taskdialvalue,tasknowait)
function basic_originate_call(tasknum,taskprefix,taskreverse,taskdialvalue,tasknowait,taskconfxfer)
{
var xmlhttp=false;
/*@cc_on @*/
@@ -1628,7 +1634,10 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
}
var originatevalue = protodial + "/" + extendial;
}
var queryCID = "DVagcW" + epoch_sec + user_abb;
if (taskconfxfer == 'YES')
{var queryCID = "DCagcW" + epoch_sec + user_abb;}
else
{var queryCID = "DVagcW" + epoch_sec + user_abb;}
VMCoriginate_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=Originate&format=text&channel=" + originatevalue + "&queryCID=" + queryCID + "&exten=" + orig_prefix + "" + dialnum + "&ext_context=" + ext_context + "&ext_priority=1&outbound_cid=" + campaign_cid;
xmlhttp.open('POST', 'manager_send.php');
@@ -2543,7 +2552,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
{
XDuniqueid = MDlookResponse_array[0];
XDchannel = MDlookResponse_array[1];
if ( (XDchannel.match(regMDL)) && (asterisk_version != '1.0.8') && (asterisk_version != '1.0.9') )
if ( (XDchannel.match(regMDL)) && (asterisk_version != '1.0.8') && (asterisk_version != '1.0.9') && (MD_ring_secondS < 10) )
{
// bad grab of Local channel, try again
MD_ring_secondS++;
@@ -2731,6 +2740,10 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
document.vicidial_form.called_count.value = MDnextResponse_array[27];
previous_called_count = MDnextResponse_array[27];
previous_dispo = MDnextResponse_array[2];
CBentry_time = MDnextResponse_array[28];
CBcallback_time = MDnextResponse_array[29];
CBuser = MDnextResponse_array[30];
CBcomments = MDnextResponse_array[31];
lead_dial_number = document.vicidial_form.phone_number.value;
document.getElementById("MainStatuSSpan").innerHTML = " Ligando: " + document.vicidial_form.phone_number.value + " UID: " + MDnextCID + " &nbsp; " + man_status;
@@ -2796,6 +2809,11 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
{
document.getElementById("CusTInfOSpaN").innerHTML = " <B> PREVIOUS CHAMADABACK </B>";
document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor;
document.getElementById("CBcommentsBoxA").innerHTML = "<b>Ultimo Call: </b>" + CBentry_time;
document.getElementById("CBcommentsBoxB").innerHTML = "<b>CallBack: </b>" + CBcallback_time;
document.getElementById("CBcommentsBoxC").innerHTML = "<b>Agent: </b>" + CBuser;
document.getElementById("CBcommentsBoxD").innerHTML = "<b>Comentários: </b><br>" + CBcomments;
showDiv('CBcommentsBox');
}
var regWFAvars = new RegExp("\\?","ig");
@@ -3294,6 +3312,10 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
check_VDIC_array[30] = check_VDIC_array[30].replace(REGcommentsNL, "\n");
document.vicidial_form.comments.value = check_VDIC_array[30];
document.vicidial_form.called_count.value = check_VDIC_array[31];
CBentry_time = check_VDIC_array[32];
CBcallback_time = check_VDIC_array[33];
CBuser = check_VDIC_array[34];
CBcomments = check_VDIC_array[35];
lead_dial_number = document.vicidial_form.phone_number.value;
document.getElementById("MainStatuSSpan").innerHTML = " Entrante: " + document.vicidial_form.phone_number.value + " UID: " + CIDcheck + " &nbsp; " + VDIC_fronter;
@@ -3302,6 +3324,11 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
{
document.getElementById("CusTInfOSpaN").innerHTML = " <B> PREVIOUS CHAMADABACK </B>";
document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor;
document.getElementById("CBcommentsBoxA").innerHTML = "<b>Ultimo Call: </b>" + CBentry_time;
document.getElementById("CBcommentsBoxB").innerHTML = "<b>CallBack: </b>" + CBcallback_time;
document.getElementById("CBcommentsBoxC").innerHTML = "<b>Agent: </b>" + CBuser;
document.getElementById("CBcommentsBoxD").innerHTML = "<b>Comentários: </b><br>" + CBcomments;
showDiv('CBcommentsBox');
}
if (VDIC_data_VDIG[1].length > 0)
@@ -4045,6 +4072,8 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
document.getElementById("DispoSelectMaxMin").innerHTML = "<a href=\"#\" onclick=\"DispoMinimize()\">minimizar</a>";
document.getElementById("DispoSelectHAspan").innerHTML = "<a href=\"#\" onclick=\"DispoHanguPAgaiN()\">Desligue novamente</a>";
CBcommentsBoxhide();
AgentDispoing = 0;
if (wrapup_waiting == 0)
@@ -4553,6 +4582,22 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
}
// ################################################################################
// Hide the CBcommentsBox span upon click
function CBcommentsBoxhide()
{
CBentry_time = '';
CBcallback_time = '';
CBuser = '';
CBcomments = '';
document.getElementById("CBcommentsBoxA").innerHTML = "";
document.getElementById("CBcommentsBoxB").innerHTML = "";
document.getElementById("CBcommentsBoxC").innerHTML = "";
document.getElementById("CBcommentsBoxD").innerHTML = "";
hideDiv('CBcommentsBox');
}
// ################################################################################
// Populating the date field in the callback frame prior to submission
function CB_date_pick(taskdate)
@@ -4638,6 +4683,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
if (VICIDiaL_closer_login_checked==0)
{
hideDiv('NothingBox');
hideDiv('CBcommentsBox');
hideDiv('HotKeyActionBox');
hideDiv('HotKeyEntriesBox');
hideDiv('MainXfeRBox');
@@ -5237,7 +5283,7 @@ echo "</head>\n";
<span id="CBstatusSpan">X AGENDAMENTOS ATIVOS</span> <BR>
</font></span>
<span style="position:absolute;left:0px;top:0px;z-index:35;" id="CallBacKsLisTBox">
<span style="position:absolute;left:0px;top:0px;z-index:36;" id="CallBacKsLisTBox">
<table border=1 bgcolor="#CCFFCC" width=650 height=460><TR><TD align=center VALIGN=top> AGENDAMENTOS POR AGENTE <? echo $VD_login ?>:<BR>Clique em um dos contatos abaixo para ligar. Se você clicar em um contatos abaixo o mesmo será removido da lista de Agendamentos.
<BR>
<div class="scroll_callback" id="CallBacKsLisT"></div>
@@ -5248,7 +5294,7 @@ echo "</head>\n";
</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:36;" id="NeWManuaLDiaLBox">
<span style="position:absolute;left:0px;top:0px;z-index:37;" id="NeWManuaLDiaLBox">
<table border=1 bgcolor="#CCFFCC" width=650 height=460><TR><TD align=center VALIGN=top> NOVA DISCAGEM MANUAL PARA <? echo "$VD_login in campaign $VD_campaign" ?>:<BR><BR>Digite abaixo a informação do novo contato que você deseja ligar.
<BR>
<?
@@ -5344,7 +5390,24 @@ Your Status: <span id="AgentStatusStatus"></span> <BR>Calls Dialing: <span id="A
</TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:12px;z-index:24;" id="NoneInSessionBox">
<span style="position:absolute;left:5px;top:310px;z-index:24;" id="CBcommentsBox">
<table border=0 bgcolor="#FFFFCC" width=620 height=70>
<TR bgcolor="#FFFF66">
<TD align=left><font class="sh_text"> Previous Callback Information: </font></td>
<TD align=right><font class="sk_text"> <a href="#" onclick="CBcommentsBoxhide();return false;">close</a> </font></td>
</tr><tr>
<TD><font class="sk_text">
<span id="CBcommentsBoxA"></span><BR>
<span id="CBcommentsBoxB"></span><BR>
<span id="CBcommentsBoxC"></span><BR>
</font></TD>
<TD width=320><font class="sk_text">
<span id="CBcommentsBoxD"></span>
</font></TD>
</TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:12px;z-index:25;" id="NoneInSessionBox">
<table border=1 bgcolor="#CCFFFF" width=600 height=500><TR><TD align=center> Não existe ninguem na sua sessão: <span id="NoneInSessionID"></span><BR>
<a href="#" onclick="NoneInSessionOK();return false;">Voltar</a>
<BR><BR>
@@ -5352,7 +5415,7 @@ Your Status: <span id="AgentStatusStatus"></span> <BR>Calls Dialing: <span id="A
</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:25;" id="CustomerGoneBox">
<span style="position:absolute;left:0px;top:0px;z-index:26;" id="CustomerGoneBox">
<table border=1 bgcolor="#CCFFFF" width=650 height=500><TR><TD align=center> O cliente desligou: <span id="CustomerGoneChanneL"></span><BR>
<a href="#" onclick="CustomerGoneOK();return false;">Voltar</a>
<BR><BR>
@@ -5361,7 +5424,7 @@ Your Status: <span id="AgentStatusStatus"></span> <BR>Calls Dialing: <span id="A
</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:26;" id="WrapupBox">
<span style="position:absolute;left:0px;top:0px;z-index:27;" id="WrapupBox">
<table border=1 bgcolor="#CCFFCC" width=650 height=550><TR><TD align=center> Chamada Wrapup: <span id="WrapupTimer"></span> segundos restantes no wrapup<BR><BR>
<span id="WrapupMessage"><?=$wrapup_message ?></span>
<BR><BR>
@@ -5370,23 +5433,23 @@ Your Status: <span id="AgentStatusStatus"></span> <BR>Calls Dialing: <span id="A
</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:27;" id="LogouTBox">
<span style="position:absolute;left:0px;top:0px;z-index:28;" id="LogouTBox">
<table border=1 bgcolor="#FFFFFF" width=650 height=500><TR><TD align=center><BR><span id="LogouTBoxLink">SAIR</span></TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:70px;z-index:28;" id="DispoButtonHideA">
<span style="position:absolute;left:0px;top:70px;z-index:29;" id="DispoButtonHideA">
<table border=0 bgcolor="#CCFFCC" width=165 height=22><TR><TD align=center VALIGN=top></TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:138px;z-index:29;" id="DispoButtonHideB">
<span style="position:absolute;left:0px;top:138px;z-index:30;" id="DispoButtonHideB">
<table border=0 bgcolor="#CCFFCC" width=165 height=250><TR><TD align=center VALIGN=top>&nbsp;</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:30;" id="DispoButtonHideC">
<span style="position:absolute;left:0px;top:0px;z-index:31;" id="DispoButtonHideC">
<table border=0 bgcolor="#CCFFCC" width=650 height=47><TR><TD align=center VALIGN=top>Qualquer alteração feita nesta página não será salva. Você deve mudar as informações do cliente antes de desligar a ligação. </TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:31;" id="DispoSelectBox">
<span style="position:absolute;left:0px;top:0px;z-index:32;" id="DispoSelectBox">
<table border=1 bgcolor="#CCFFCC" width=650 height=460><TR><TD align=center VALIGN=top> SELEÇÃO DE STATUS :<span id="DispoSelectPhonE"></span> &nbsp; &nbsp; &nbsp; <span id="DispoSelectHAspan"><a href="#" onclick="DispoHanguPAgaiN()">Desligue novamente</a></span> &nbsp; &nbsp; &nbsp; <span id="DispoSelectMaxMin"><a href="#" onclick="DispoMinimize()">minimizar</a></span><BR>
<span id="DispoSelectContent"> Fim da seleção de status </span>
<input type=hidden name=DispoSelection><BR>
@@ -5400,7 +5463,7 @@ Your Status: <span id="AgentStatusStatus"></span> <BR>Calls Dialing: <span id="A
</span>
<span style="position:absolute;left:0px;top:0px;z-index:32;" id="CallBackSelectBox">
<span style="position:absolute;left:0px;top:0px;z-index:33;" id="CallBackSelectBox">
<table border=1 bgcolor="#CCFFCC" width=650 height=460><TR><TD align=center VALIGN=top> Selecione uma data para o retorno :<span id="CallBackDatE"></span><BR>
<input type=hidden name=CallBackDatESelectioN>
<input type=hidden name=CallBackTimESelectioN>
@@ -5443,7 +5506,7 @@ Your Status: <span id="AgentStatusStatus"></span> <BR>Calls Dialing: <span id="A
</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:33;" id="CloserSelectBox">
<span style="position:absolute;left:0px;top:0px;z-index:34;" id="CloserSelectBox">
<table border=1 bgcolor="#CCFFCC" width=650 height=460><TR><TD align=center VALIGN=top> SELECAO DO GRUPO DE ENTRADA DO CLOSER <BR>
<span id="CloserSelectContent"> Seleção do grupo de entrada do closer </span>
<input type=hidden name=CloserSelectList><BR>
@@ -5454,7 +5517,7 @@ Your Status: <span id="AgentStatusStatus"></span> <BR>Calls Dialing: <span id="A
</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:34;" id="NothingBox">
<span style="position:absolute;left:0px;top:0px;z-index:35;" id="NothingBox">
<BUTTON Type=button name="inert_button"><img src="../agc/images/blank.gif"></BUTTON>
<span id="DiaLLeaDPrevieWHide">Canal</span>
<span id="DiaLDiaLAltPhonEHide">Canal</span>
+54 -2
View File
@@ -108,9 +108,11 @@
# 60623-1414 - Fixed variable filter for phone_code and fixed manual dial logic
# 60821-1600 - Added ability to omit the phone code on vicidial lead dialing
# 60821-1647 - Added ability to not delete sessions at logout
# 60906-1124 - Added lookup and sending of callback data for CALLBK calls
#
$version = '2.0.36';
$build = '60821-1647';
$version = '2.0.37';
$build = '60906-1124';
require("dbconnect.php");
@@ -498,6 +500,27 @@ if ($ACTION == 'manDiaLnextCaLL')
$called_count++;
##### if lead is a callback, grab the callback comments
$CBentry_time = '';
$CBcallback_time = '';
$CBuser = '';
$CBcomments = '';
if (ereg("CALLBK",$dispo))
{
$stmt="SELECT entry_time,callback_time,user,comments FROM vicidial_callbacks where lead_id='$lead_id' order by callback_id desc LIMIT 1;";
$rslt=mysql_query($stmt, $link);
if ($DB) {echo "$stmt\n";}
$cb_record_ct = mysql_num_rows($rslt);
if ($cb_record_ct > 0)
{
$row=mysql_fetch_row($rslt);
$CBentry_time = trim("$row[0]");
$CBcallback_time = trim("$row[1]");
$CBuser = trim("$row[2]");
$CBcomments = trim("$row[3]");
}
}
### flag the lead as called and change it's status to INCALL
$stmt = "UPDATE vicidial_list set status='INCALL', called_since_last_reset='Y', called_count='$called_count',user='$user' where lead_id='$lead_id';";
if ($DB) {echo "$stmt\n";}
@@ -582,6 +605,10 @@ if ($ACTION == 'manDiaLnextCaLL')
$LeaD_InfO .= $security . "\n";
$LeaD_InfO .= $comments . "\n";
$LeaD_InfO .= $called_count . "\n";
$LeaD_InfO .= $CBentry_time . "\n";
$LeaD_InfO .= $CBcallback_time . "\n";
$LeaD_InfO .= $CBuser . "\n";
$LeaD_InfO .= $CBcomments . "\n";
echo $LeaD_InfO;
@@ -1076,6 +1103,27 @@ if ($ACTION == 'VDADcheckINCOMING')
$called_count = trim("$row[30]");
}
##### if lead is a callback, grab the callback comments
$CBentry_time = '';
$CBcallback_time = '';
$CBuser = '';
$CBcomments = '';
if (ereg("CALLBK",$dispo))
{
$stmt="SELECT entry_time,callback_time,user,comments FROM vicidial_callbacks where lead_id='$lead_id' order by callback_id desc LIMIT 1;";
$rslt=mysql_query($stmt, $link);
if ($DB) {echo "$stmt\n";}
$cb_record_ct = mysql_num_rows($rslt);
if ($cb_record_ct > 0)
{
$row=mysql_fetch_row($rslt);
$CBentry_time = trim("$row[0]");
$CBcallback_time = trim("$row[1]");
$CBuser = trim("$row[2]");
$CBcomments = trim("$row[3]");
}
}
### update the lead status to INCALL
$stmt = "UPDATE vicidial_list set status='INCALL', user='$user' where lead_id='$lead_id';";
if ($DB) {echo "$stmt\n";}
@@ -1215,6 +1263,10 @@ if ($ACTION == 'VDADcheckINCOMING')
$LeaD_InfO .= $security . "\n";
$LeaD_InfO .= $comments . "\n";
$LeaD_InfO .= $called_count . "\n";
$LeaD_InfO .= $CBentry_time . "\n";
$LeaD_InfO .= $CBcallback_time . "\n";
$LeaD_InfO .= $CBuser . "\n";
$LeaD_InfO .= $CBcomments . "\n";
echo $LeaD_InfO;
+82 -19
View File
@@ -124,6 +124,8 @@
# 60821-1643 - Added no_delete_sessions option to not delete sessions
# 60822-0512 - Changed phone number fields to be maxlength of 12
# 60829-1531 - Made compatible with WeBRooTWritablE setting in dbconnect.php
# 60906-1152 - Added Previous CallBack info display span
# 60906-1715 - Allow for Local phone extension conferences
#
require("dbconnect.php");
@@ -169,8 +171,8 @@ if (isset($_GET["relogin"])) {$relogin=$_GET["relogin"];}
$forever_stop=0;
$version = '2.0.97';
$build = '60829-1531';
$version = '2.0.99';
$build = '60906-1715';
if ($force_logout)
{
@@ -1386,6 +1388,10 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
var no_delete_sessions = '<? echo $no_delete_sessions ?>';
var webform_session = '<? echo $webform_sessionname ?>';
var local_consult_xfers = '<? echo $local_consult_xfers ?>';
var CBentry_time = '';
var CBcallback_time = '';
var CBuser = '';
var CBcomments = '';
var DiaLControl_auto_HTML = "<IMG SRC=\"../agc/images/vdc_LB_pause_OFF.gif\" border=0 alt=\"Pause\"><a href=\"#\" onclick=\"AutoDial_ReSume_PauSe('VDADready');\"><IMG SRC=\"../agc/images/vdc_LB_resume.gif\" border=0 alt=\"Zusammenfassung\"></a>";
var DiaLControl_auto_HTML_ready = "<a href=\"#\" onclick=\"AutoDial_ReSume_PauSe('VDADpause');\"><IMG SRC=\"../agc/images/vdc_LB_pause.gif\" border=0 alt=\"Pause\"></a><IMG SRC=\"../agc/images/vdc_LB_resume_OFF.gif\" border=0 alt=\"Zusammenfassung\">";
var DiaLControl_auto_HTML_OFF = "<IMG SRC=\"../agc/images/vdc_LB_pause_OFF.gif\" border=0 alt=\"Pause\"><IMG SRC=\"../agc/images/vdc_LB_resume_OFF.gif\" border=0 alt=\"Zusammenfassung\">";
@@ -1550,7 +1556,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
}
}
if (taskFromConf == 'YES')
{basic_originate_call(manual_string,'NO','YES',dial_conf_exten);}
{basic_originate_call(manual_string,'NO','YES',dial_conf_exten,'NO',taskFromConf);}
else
{basic_originate_call(manual_string,'NO','NO');}
@@ -1559,7 +1565,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
// ################################################################################
// Send Originate command to manager to place a phone call
function basic_originate_call(tasknum,taskprefix,taskreverse,taskdialvalue,tasknowait)
function basic_originate_call(tasknum,taskprefix,taskreverse,taskdialvalue,tasknowait,taskconfxfer)
{
var xmlhttp=false;
/*@cc_on @*/
@@ -1628,7 +1634,10 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
}
var originatevalue = protodial + "/" + extendial;
}
var queryCID = "DVagcW" + epoch_sec + user_abb;
if (taskconfxfer == 'YES')
{var queryCID = "DCagcW" + epoch_sec + user_abb;}
else
{var queryCID = "DVagcW" + epoch_sec + user_abb;}
VMCoriginate_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=Originate&format=text&channel=" + originatevalue + "&queryCID=" + queryCID + "&exten=" + orig_prefix + "" + dialnum + "&ext_context=" + ext_context + "&ext_priority=1&outbound_cid=" + campaign_cid;
xmlhttp.open('POST', 'manager_send.php');
@@ -2543,7 +2552,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
{
XDuniqueid = MDlookResponse_array[0];
XDchannel = MDlookResponse_array[1];
if ( (XDchannel.match(regMDL)) && (asterisk_version != '1.0.8') && (asterisk_version != '1.0.9') )
if ( (XDchannel.match(regMDL)) && (asterisk_version != '1.0.8') && (asterisk_version != '1.0.9') && (MD_ring_secondS < 10) )
{
// bad grab of Local channel, try again
MD_ring_secondS++;
@@ -2731,6 +2740,10 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
document.vicidial_form.called_count.value = MDnextResponse_array[27];
previous_called_count = MDnextResponse_array[27];
previous_dispo = MDnextResponse_array[2];
CBentry_time = MDnextResponse_array[28];
CBcallback_time = MDnextResponse_array[29];
CBuser = MDnextResponse_array[30];
CBcomments = MDnextResponse_array[31];
lead_dial_number = document.vicidial_form.phone_number.value;
document.getElementById("MainStatuSSpan").innerHTML = " Benennen: " + document.vicidial_form.phone_number.value + " UID: " + MDnextCID + " &nbsp; " + man_status;
@@ -2796,6 +2809,11 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
{
document.getElementById("CusTInfOSpaN").innerHTML = " <B> PREVIOUS ANRUFBACK </B>";
document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor;
document.getElementById("CBcommentsBoxA").innerHTML = "<b>Letztes Call: </b>" + CBentry_time;
document.getElementById("CBcommentsBoxB").innerHTML = "<b>CallBack: </b>" + CBcallback_time;
document.getElementById("CBcommentsBoxC").innerHTML = "<b>Agent: </b>" + CBuser;
document.getElementById("CBcommentsBoxD").innerHTML = "<b>Anmerkungen: </b><br>" + CBcomments;
showDiv('CBcommentsBox');
}
var regWFAvars = new RegExp("\\?","ig");
@@ -3294,6 +3312,10 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
check_VDIC_array[30] = check_VDIC_array[30].replace(REGcommentsNL, "\n");
document.vicidial_form.comments.value = check_VDIC_array[30];
document.vicidial_form.called_count.value = check_VDIC_array[31];
CBentry_time = check_VDIC_array[32];
CBcallback_time = check_VDIC_array[33];
CBuser = check_VDIC_array[34];
CBcomments = check_VDIC_array[35];
lead_dial_number = document.vicidial_form.phone_number.value;
document.getElementById("MainStatuSSpan").innerHTML = " Ankommend: " + document.vicidial_form.phone_number.value + " UID: " + CIDcheck + " &nbsp; " + VDIC_fronter;
@@ -3302,6 +3324,11 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
{
document.getElementById("CusTInfOSpaN").innerHTML = " <B> PREVIOUS ANRUFBACK </B>";
document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor;
document.getElementById("CBcommentsBoxA").innerHTML = "<b>Letztes Call: </b>" + CBentry_time;
document.getElementById("CBcommentsBoxB").innerHTML = "<b>CallBack: </b>" + CBcallback_time;
document.getElementById("CBcommentsBoxC").innerHTML = "<b>Agent: </b>" + CBuser;
document.getElementById("CBcommentsBoxD").innerHTML = "<b>Anmerkungen: </b><br>" + CBcomments;
showDiv('CBcommentsBox');
}
if (VDIC_data_VDIG[1].length > 0)
@@ -4045,6 +4072,8 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
document.getElementById("DispoSelectMaxMin").innerHTML = "<a href=\"#\" onclick=\"DispoMinimize()\">setzen Sie herab</a>";
document.getElementById("DispoSelectHAspan").innerHTML = "<a href=\"#\" onclick=\"DispoHanguPAgaiN()\">Hängezustand Wieder</a>";
CBcommentsBoxhide();
AgentDispoing = 0;
if (wrapup_waiting == 0)
@@ -4553,6 +4582,22 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
}
// ################################################################################
// Hide the CBcommentsBox span upon click
function CBcommentsBoxhide()
{
CBentry_time = '';
CBcallback_time = '';
CBuser = '';
CBcomments = '';
document.getElementById("CBcommentsBoxA").innerHTML = "";
document.getElementById("CBcommentsBoxB").innerHTML = "";
document.getElementById("CBcommentsBoxC").innerHTML = "";
document.getElementById("CBcommentsBoxD").innerHTML = "";
hideDiv('CBcommentsBox');
}
// ################################################################################
// Populating the date field in the callback frame prior to submission
function CB_date_pick(taskdate)
@@ -4638,6 +4683,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
if (VICIDiaL_closer_login_checked==0)
{
hideDiv('NothingBox');
hideDiv('CBcommentsBox');
hideDiv('HotKeyActionBox');
hideDiv('HotKeyEntriesBox');
hideDiv('MainXfeRBox');
@@ -5237,7 +5283,7 @@ echo "</head>\n";
<span id="CBstatusSpan">X AKTIVE WIEDERHOLUNGSBESUCHE</span> <BR>
</font></span>
<span style="position:absolute;left:0px;top:0px;z-index:35;" id="CallBacKsLisTBox">
<span style="position:absolute;left:0px;top:0px;z-index:36;" id="CallBacKsLisTBox">
<table border=1 bgcolor="#CCFFCC" width=650 height=460><TR><TD align=center VALIGN=top> WIEDERHOLUNGSBESUCHE FÜR MITTEL <? echo $VD_login ?>:<BR>Klicken Sie an einen Wiederholungsbesuch unten, um die Kunde Rückseite jetzt zu benennen. Wenn Sie an eine Aufzeichnung unten klicken, um sie zu benennen, wird sie von der Liste entfernt.
<BR>
<div class="scroll_callback" id="CallBacKsLisT"></div>
@@ -5248,7 +5294,7 @@ echo "</head>\n";
</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:36;" id="NeWManuaLDiaLBox">
<span style="position:absolute;left:0px;top:0px;z-index:37;" id="NeWManuaLDiaLBox">
<table border=1 bgcolor="#CCFFCC" width=650 height=460><TR><TD align=center VALIGN=top> NEUE MANUELLE VORWAHLKNOPF-LEITUNG FÜR <? echo "$VD_login in campaign $VD_campaign" ?>:<BR><BR>Tragen Sie Informationen unten für die neue Leitung ein, die Sie benennen möchten.
<BR>
<?
@@ -5344,7 +5390,24 @@ Ihr Status: <span id="AgentStatusStatus"></span> <BR>Calls Dialing: <span id="Ag
</TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:12px;z-index:24;" id="NoneInSessionBox">
<span style="position:absolute;left:5px;top:310px;z-index:24;" id="CBcommentsBox">
<table border=0 bgcolor="#FFFFCC" width=620 height=70>
<TR bgcolor="#FFFF66">
<TD align=left><font class="sh_text"> Previous Callback Information: </font></td>
<TD align=right><font class="sk_text"> <a href="#" onclick="CBcommentsBoxhide();return false;">close</a> </font></td>
</tr><tr>
<TD><font class="sk_text">
<span id="CBcommentsBoxA"></span><BR>
<span id="CBcommentsBoxB"></span><BR>
<span id="CBcommentsBoxC"></span><BR>
</font></TD>
<TD width=320><font class="sk_text">
<span id="CBcommentsBoxD"></span>
</font></TD>
</TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:12px;z-index:25;" id="NoneInSessionBox">
<table border=1 bgcolor="#CCFFFF" width=600 height=500><TR><TD align=center> Noone ist in Ihrem Lernabschnitt: <span id="NoneInSessionID"></span><BR>
<a href="#" onclick="NoneInSessionOK();return false;">Gehen Sie Zurück</a>
<BR><BR>
@@ -5352,7 +5415,7 @@ Ihr Status: <span id="AgentStatusStatus"></span> <BR>Calls Dialing: <span id="Ag
</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:25;" id="CustomerGoneBox">
<span style="position:absolute;left:0px;top:0px;z-index:26;" id="CustomerGoneBox">
<table border=1 bgcolor="#CCFFFF" width=650 height=500><TR><TD align=center> Kunde hat oben gehangen: <span id="CustomerGoneChanneL"></span><BR>
<a href="#" onclick="CustomerGoneOK();return false;">Gehen Sie Zurück</a>
<BR><BR>
@@ -5361,7 +5424,7 @@ Ihr Status: <span id="AgentStatusStatus"></span> <BR>Calls Dialing: <span id="Ag
</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:26;" id="WrapupBox">
<span style="position:absolute;left:0px;top:0px;z-index:27;" id="WrapupBox">
<table border=1 bgcolor="#CCFFCC" width=650 height=550><TR><TD align=center> Anruf Nachbereitung <span id="WrapupTimer"></span> Verbleibende Sekunden der Nachbereitung<BR><BR>
<span id="WrapupMessage"><?=$wrapup_message ?></span>
<BR><BR>
@@ -5370,23 +5433,23 @@ Ihr Status: <span id="AgentStatusStatus"></span> <BR>Calls Dialing: <span id="Ag
</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:27;" id="LogouTBox">
<span style="position:absolute;left:0px;top:0px;z-index:28;" id="LogouTBox">
<table border=1 bgcolor="#FFFFFF" width=650 height=500><TR><TD align=center><BR><span id="LogouTBoxLink">LOGOUT</span></TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:70px;z-index:28;" id="DispoButtonHideA">
<span style="position:absolute;left:0px;top:70px;z-index:29;" id="DispoButtonHideA">
<table border=0 bgcolor="#CCFFCC" width=165 height=22><TR><TD align=center VALIGN=top></TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:138px;z-index:29;" id="DispoButtonHideB">
<span style="position:absolute;left:0px;top:138px;z-index:30;" id="DispoButtonHideB">
<table border=0 bgcolor="#CCFFCC" width=165 height=250><TR><TD align=center VALIGN=top>&nbsp;</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:30;" id="DispoButtonHideC">
<span style="position:absolute;left:0px;top:0px;z-index:31;" id="DispoButtonHideC">
<table border=0 bgcolor="#CCFFCC" width=650 height=47><TR><TD align=center VALIGN=top>Alle mögliche Änderungen, die am Kunden vorgenommen wurden, den, Informationen unten diesmal nicht sind, comitted, Sie müssen Kunde Informationen vor Ihnen ändern Hängezustand der Anruf. </TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:31;" id="DispoSelectBox">
<span style="position:absolute;left:0px;top:0px;z-index:32;" id="DispoSelectBox">
<table border=1 bgcolor="#CCFFCC" width=650 height=460><TR><TD align=center VALIGN=top> EINTEILUNG ANRUF :<span id="DispoSelectPhonE"></span> &nbsp; &nbsp; &nbsp; <span id="DispoSelectHAspan"><a href="#" onclick="DispoHanguPAgaiN()">Hängezustand Wieder</a></span> &nbsp; &nbsp; &nbsp; <span id="DispoSelectMaxMin"><a href="#" onclick="DispoMinimize()">setzen Sie herab</a></span><BR>
<span id="DispoSelectContent"> Ende-von-benennen Sie Einteilung Vorwähler </span>
<input type=hidden name=DispoSelection><BR>
@@ -5400,7 +5463,7 @@ Ihr Status: <span id="AgentStatusStatus"></span> <BR>Calls Dialing: <span id="Ag
</span>
<span style="position:absolute;left:0px;top:0px;z-index:32;" id="CallBackSelectBox">
<span style="position:absolute;left:0px;top:0px;z-index:33;" id="CallBackSelectBox">
<table border=1 bgcolor="#CCFFCC" width=650 height=460><TR><TD align=center VALIGN=top> Wählen Sie ein Wiederholungsbesuch Datum vor :<span id="CallBackDatE"></span><BR>
<input type=hidden name=CallBackDatESelectioN>
<input type=hidden name=CallBackTimESelectioN>
@@ -5443,7 +5506,7 @@ Ihr Status: <span id="AgentStatusStatus"></span> <BR>Calls Dialing: <span id="Ag
</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:33;" id="CloserSelectBox">
<span style="position:absolute;left:0px;top:0px;z-index:34;" id="CloserSelectBox">
<table border=1 bgcolor="#CCFFCC" width=650 height=460><TR><TD align=center VALIGN=top> GENAUERE INBOUND GRUPPENWAHL <BR>
<span id="CloserSelectContent"> Genauere Inbound Gruppenwahl </span>
<input type=hidden name=CloserSelectList><BR>
@@ -5454,7 +5517,7 @@ Ihr Status: <span id="AgentStatusStatus"></span> <BR>Calls Dialing: <span id="Ag
</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:34;" id="NothingBox">
<span style="position:absolute;left:0px;top:0px;z-index:35;" id="NothingBox">
<BUTTON Type=button name="inert_button"><img src="../agc/images/blank.gif"></BUTTON>
<span id="DiaLLeaDPrevieWHide">Führung</span>
<span id="DiaLDiaLAltPhonEHide">Führung</span>
+54 -2
View File
@@ -108,9 +108,11 @@
# 60623-1414 - Fixed variable filter for phone_code and fixed manual dial logic
# 60821-1600 - Added ability to omit the phone code on vicidial lead dialing
# 60821-1647 - Added ability to not delete sessions at logout
# 60906-1124 - Added lookup and sending of callback data for CALLBK calls
#
$version = '2.0.36';
$build = '60821-1647';
$version = '2.0.37';
$build = '60906-1124';
require("dbconnect.php");
@@ -498,6 +500,27 @@ if ($ACTION == 'manDiaLnextCaLL')
$called_count++;
##### if lead is a callback, grab the callback comments
$CBentry_time = '';
$CBcallback_time = '';
$CBuser = '';
$CBcomments = '';
if (ereg("CALLBK",$dispo))
{
$stmt="SELECT entry_time,callback_time,user,comments FROM vicidial_callbacks where lead_id='$lead_id' order by callback_id desc LIMIT 1;";
$rslt=mysql_query($stmt, $link);
if ($DB) {echo "$stmt\n";}
$cb_record_ct = mysql_num_rows($rslt);
if ($cb_record_ct > 0)
{
$row=mysql_fetch_row($rslt);
$CBentry_time = trim("$row[0]");
$CBcallback_time = trim("$row[1]");
$CBuser = trim("$row[2]");
$CBcomments = trim("$row[3]");
}
}
### flag the lead as called and change it's status to INCALL
$stmt = "UPDATE vicidial_list set status='INCALL', called_since_last_reset='Y', called_count='$called_count',user='$user' where lead_id='$lead_id';";
if ($DB) {echo "$stmt\n";}
@@ -582,6 +605,10 @@ if ($ACTION == 'manDiaLnextCaLL')
$LeaD_InfO .= $security . "\n";
$LeaD_InfO .= $comments . "\n";
$LeaD_InfO .= $called_count . "\n";
$LeaD_InfO .= $CBentry_time . "\n";
$LeaD_InfO .= $CBcallback_time . "\n";
$LeaD_InfO .= $CBuser . "\n";
$LeaD_InfO .= $CBcomments . "\n";
echo $LeaD_InfO;
@@ -1076,6 +1103,27 @@ if ($ACTION == 'VDADcheckINCOMING')
$called_count = trim("$row[30]");
}
##### if lead is a callback, grab the callback comments
$CBentry_time = '';
$CBcallback_time = '';
$CBuser = '';
$CBcomments = '';
if (ereg("CALLBK",$dispo))
{
$stmt="SELECT entry_time,callback_time,user,comments FROM vicidial_callbacks where lead_id='$lead_id' order by callback_id desc LIMIT 1;";
$rslt=mysql_query($stmt, $link);
if ($DB) {echo "$stmt\n";}
$cb_record_ct = mysql_num_rows($rslt);
if ($cb_record_ct > 0)
{
$row=mysql_fetch_row($rslt);
$CBentry_time = trim("$row[0]");
$CBcallback_time = trim("$row[1]");
$CBuser = trim("$row[2]");
$CBcomments = trim("$row[3]");
}
}
### update the lead status to INCALL
$stmt = "UPDATE vicidial_list set status='INCALL', user='$user' where lead_id='$lead_id';";
if ($DB) {echo "$stmt\n";}
@@ -1215,6 +1263,10 @@ if ($ACTION == 'VDADcheckINCOMING')
$LeaD_InfO .= $security . "\n";
$LeaD_InfO .= $comments . "\n";
$LeaD_InfO .= $called_count . "\n";
$LeaD_InfO .= $CBentry_time . "\n";
$LeaD_InfO .= $CBcallback_time . "\n";
$LeaD_InfO .= $CBuser . "\n";
$LeaD_InfO .= $CBcomments . "\n";
echo $LeaD_InfO;
+82 -19
View File
@@ -124,6 +124,8 @@
# 60821-1643 - Added no_delete_sessions option to not delete sessions
# 60822-0512 - Changed phone number fields to be maxlength of 12
# 60829-1531 - Made compatible with WeBRooTWritablE setting in dbconnect.php
# 60906-1152 - Added Previous CallBack info display span
# 60906-1715 - Allow for Local phone extension conferences
#
require("dbconnect.php");
@@ -169,8 +171,8 @@ if (isset($_GET["relogin"])) {$relogin=$_GET["relogin"];}
$forever_stop=0;
$version = '2.0.97';
$build = '60829-1531';
$version = '2.0.99';
$build = '60906-1715';
if ($force_logout)
{
@@ -1386,6 +1388,10 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
var no_delete_sessions = '<? echo $no_delete_sessions ?>';
var webform_session = '<? echo $webform_sessionname ?>';
var local_consult_xfers = '<? echo $local_consult_xfers ?>';
var CBentry_time = '';
var CBcallback_time = '';
var CBuser = '';
var CBcomments = '';
var DiaLControl_auto_HTML = "<IMG SRC=\"../agc/images/vdc_LB_pause_OFF_el.gif\" border=0 alt=\"Παύση\"><a href=\"#\" onclick=\"AutoDial_ReSume_PauSe('VDADready');\"><IMG SRC=\"../agc/images/vdc_LB_resume_el.gif\" border=0 alt=\"Επανάληψη\"></a>";
var DiaLControl_auto_HTML_ready = "<a href=\"#\" onclick=\"AutoDial_ReSume_PauSe('VDADpause');\"><IMG SRC=\"../agc/images/vdc_LB_pause_el.gif\" border=0 alt=\"Παύση\"></a><IMG SRC=\"../agc/images/vdc_LB_resume_OFF_el.gif\" border=0 alt=\"Επανάληψη\">";
var DiaLControl_auto_HTML_OFF = "<IMG SRC=\"../agc/images/vdc_LB_pause_OFF_el.gif\" border=0 alt=\"Παύση\"><IMG SRC=\"../agc/images/vdc_LB_resume_OFF_el.gif\" border=0 alt=\"Επανάληψη\">";
@@ -1550,7 +1556,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
}
}
if (taskFromConf == 'YES')
{basic_originate_call(manual_string,'NO','YES',dial_conf_exten);}
{basic_originate_call(manual_string,'NO','YES',dial_conf_exten,'NO',taskFromConf);}
else
{basic_originate_call(manual_string,'NO','NO');}
@@ -1559,7 +1565,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
// ################################################################################
// Send Originate command to manager to place a phone call
function basic_originate_call(tasknum,taskprefix,taskreverse,taskdialvalue,tasknowait)
function basic_originate_call(tasknum,taskprefix,taskreverse,taskdialvalue,tasknowait,taskconfxfer)
{
var xmlhttp=false;
/*@cc_on @*/
@@ -1628,7 +1634,10 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
}
var originatevalue = protodial + "/" + extendial;
}
var queryCID = "DVagcW" + epoch_sec + user_abb;
if (taskconfxfer == 'YES')
{var queryCID = "DCagcW" + epoch_sec + user_abb;}
else
{var queryCID = "DVagcW" + epoch_sec + user_abb;}
VMCoriginate_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=Originate&format=text&channel=" + originatevalue + "&queryCID=" + queryCID + "&exten=" + orig_prefix + "" + dialnum + "&ext_context=" + ext_context + "&ext_priority=1&outbound_cid=" + campaign_cid;
xmlhttp.open('POST', 'manager_send.php');
@@ -2543,7 +2552,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
{
XDuniqueid = MDlookResponse_array[0];
XDchannel = MDlookResponse_array[1];
if ( (XDchannel.match(regMDL)) && (asterisk_version != '1.0.8') && (asterisk_version != '1.0.9') )
if ( (XDchannel.match(regMDL)) && (asterisk_version != '1.0.8') && (asterisk_version != '1.0.9') && (MD_ring_secondS < 10) )
{
// bad grab of Local channel, try again
MD_ring_secondS++;
@@ -2731,6 +2740,10 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
document.vicidial_form.called_count.value = MDnextResponse_array[27];
previous_called_count = MDnextResponse_array[27];
previous_dispo = MDnextResponse_array[2];
CBentry_time = MDnextResponse_array[28];
CBcallback_time = MDnextResponse_array[29];
CBuser = MDnextResponse_array[30];
CBcomments = MDnextResponse_array[31];
lead_dial_number = document.vicidial_form.phone_number.value;
document.getElementById("MainStatuSSpan").innerHTML = " Σε Κλήση: " + document.vicidial_form.phone_number.value + " UID: " + MDnextCID + " &nbsp; " + man_status;
@@ -2796,6 +2809,11 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
{
document.getElementById("CusTInfOSpaN").innerHTML = " <B> PREVIOUS ΚΛΗΣΗBACK </B>";
document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor;
document.getElementById("CBcommentsBoxA").innerHTML = "<b>Επίθετο Call: </b>" + CBentry_time;
document.getElementById("CBcommentsBoxB").innerHTML = "<b>CallBack: </b>" + CBcallback_time;
document.getElementById("CBcommentsBoxC").innerHTML = "<b>Agent: </b>" + CBuser;
document.getElementById("CBcommentsBoxD").innerHTML = "<b>Σχόλια: </b><br>" + CBcomments;
showDiv('CBcommentsBox');
}
var regWFAvars = new RegExp("\\?","ig");
@@ -3294,6 +3312,10 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
check_VDIC_array[30] = check_VDIC_array[30].replace(REGcommentsNL, "\n");
document.vicidial_form.comments.value = check_VDIC_array[30];
document.vicidial_form.called_count.value = check_VDIC_array[31];
CBentry_time = check_VDIC_array[32];
CBcallback_time = check_VDIC_array[33];
CBuser = check_VDIC_array[34];
CBcomments = check_VDIC_array[35];
lead_dial_number = document.vicidial_form.phone_number.value;
document.getElementById("MainStatuSSpan").innerHTML = " Εισερχόμενο: " + document.vicidial_form.phone_number.value + " UID: " + CIDcheck + " &nbsp; " + VDIC_fronter;
@@ -3302,6 +3324,11 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
{
document.getElementById("CusTInfOSpaN").innerHTML = " <B> PREVIOUS ΚΛΗΣΗBACK </B>";
document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor;
document.getElementById("CBcommentsBoxA").innerHTML = "<b>Επίθετο Call: </b>" + CBentry_time;
document.getElementById("CBcommentsBoxB").innerHTML = "<b>CallBack: </b>" + CBcallback_time;
document.getElementById("CBcommentsBoxC").innerHTML = "<b>Agent: </b>" + CBuser;
document.getElementById("CBcommentsBoxD").innerHTML = "<b>Σχόλια: </b><br>" + CBcomments;
showDiv('CBcommentsBox');
}
if (VDIC_data_VDIG[1].length > 0)
@@ -4045,6 +4072,8 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
document.getElementById("DispoSelectMaxMin").innerHTML = "<a href=\"#\" onclick=\"DispoMinimize()\">ελαχιστοποιήστε</a>";
document.getElementById("DispoSelectHAspan").innerHTML = "<a href=\"#\" onclick=\"DispoHanguPAgaiN()\">Ξανακλήσε</a>";
CBcommentsBoxhide();
AgentDispoing = 0;
if (wrapup_waiting == 0)
@@ -4553,6 +4582,22 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
}
// ################################################################################
// Hide the CBcommentsBox span upon click
function CBcommentsBoxhide()
{
CBentry_time = '';
CBcallback_time = '';
CBuser = '';
CBcomments = '';
document.getElementById("CBcommentsBoxA").innerHTML = "";
document.getElementById("CBcommentsBoxB").innerHTML = "";
document.getElementById("CBcommentsBoxC").innerHTML = "";
document.getElementById("CBcommentsBoxD").innerHTML = "";
hideDiv('CBcommentsBox');
}
// ################################################################################
// Populating the date field in the callback frame prior to submission
function CB_date_pick(taskdate)
@@ -4638,6 +4683,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
if (VICIDiaL_closer_login_checked==0)
{
hideDiv('NothingBox');
hideDiv('CBcommentsBox');
hideDiv('HotKeyActionBox');
hideDiv('HotKeyEntriesBox');
hideDiv('MainXfeRBox');
@@ -5237,7 +5283,7 @@ echo "</head>\n";
<span id="CBstatusSpan">X ΕΝΕΡΓΕΣ ΕΠΑΝΑΚΛΗΣΕΙΣ</span> <BR>
</font></span>
<span style="position:absolute;left:0px;top:0px;z-index:35;" id="CallBacKsLisTBox">
<span style="position:absolute;left:0px;top:0px;z-index:36;" id="CallBacKsLisTBox">
<table border=1 bgcolor="#CCFFCC" width=650 height=460><TR><TD align=center VALIGN=top> ΕΠΑΝΑΚΛΗΣΕΙΣ ΓΙΑ ΤΟΝ ΧΕΙΡΙΣΤΗ <? echo $VD_login ?>:<BR>Επιλέξτε μία επανάκληση παρακάτω για να καλέσετε τον πελάτη τώρα. Εάν επιλέξετε μία εγγραφή παρακάτω, θα διαγραφεί από την λίστα.
<BR>
<div class="scroll_callback" id="CallBacKsLisT"></div>
@@ -5248,7 +5294,7 @@ echo "</head>\n";
</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:36;" id="NeWManuaLDiaLBox">
<span style="position:absolute;left:0px;top:0px;z-index:37;" id="NeWManuaLDiaLBox">
<table border=1 bgcolor="#CCFFCC" width=650 height=460><TR><TD align=center VALIGN=top> ΝΕΑ ΧΕΙΡΟΚΙΝΗΤΗ ΚΛΗΣΗ ΟΔΗΓΟΥ ΓΙΑ <? echo "$VD_login in campaign $VD_campaign" ?>:<BR><BR>Καταχωρήστε τις πληροφορίες παρακάτω για τον νέο οδηγό που επιθυμήτε να καλέσετε.
<BR>
<?
@@ -5344,7 +5390,24 @@ Your Κατάσταση: <span id="AgentΚατάστασηΚατάσταση"></
</TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:12px;z-index:24;" id="NoneInSessionBox">
<span style="position:absolute;left:5px;top:310px;z-index:24;" id="CBcommentsBox">
<table border=0 bgcolor="#FFFFCC" width=620 height=70>
<TR bgcolor="#FFFF66">
<TD align=left><font class="sh_text"> Previous Callback Information: </font></td>
<TD align=right><font class="sk_text"> <a href="#" onclick="CBcommentsBoxhide();return false;">close</a> </font></td>
</tr><tr>
<TD><font class="sk_text">
<span id="CBcommentsBoxA"></span><BR>
<span id="CBcommentsBoxB"></span><BR>
<span id="CBcommentsBoxC"></span><BR>
</font></TD>
<TD width=320><font class="sk_text">
<span id="CBcommentsBoxD"></span>
</font></TD>
</TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:12px;z-index:25;" id="NoneInSessionBox">
<table border=1 bgcolor="#CCFFFF" width=600 height=500><TR><TD align=center> Κανένας δεν είναι στη σύνοδό σας: <span id="NoneInSessionID"></span><BR>
<a href="#" onclick="NoneInSessionOK();return false;">Επιστροφή</a>
<BR><BR>
@@ -5352,7 +5415,7 @@ Your Κατάσταση: <span id="AgentΚατάστασηΚατάσταση"></
</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:25;" id="CustomerGoneBox">
<span style="position:absolute;left:0px;top:0px;z-index:26;" id="CustomerGoneBox">
<table border=1 bgcolor="#CCFFFF" width=650 height=500><TR><TD align=center> Ο πελάτης έχει κλείσει το τηλέφωνο: <span id="CustomerGoneChanneL"></span><BR>
<a href="#" onclick="CustomerGoneOK();return false;">Επιστροφή</a>
<BR><BR>
@@ -5361,7 +5424,7 @@ Your Κατάσταση: <span id="AgentΚατάστασηΚατάσταση"></
</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:26;" id="WrapupBox">
<span style="position:absolute;left:0px;top:0px;z-index:27;" id="WrapupBox">
<table border=1 bgcolor="#CCFFCC" width=650 height=550><TR><TD align=center> Τύλιγμα Κλήσης: <span id="WrapupTimer"></span> απομύνοντα δευτερόλεπτα σε τύλιγμα<BR><BR>
<span id="WrapupMessage"><?=$wrapup_message ?></span>
<BR><BR>
@@ -5370,23 +5433,23 @@ Your Κατάσταση: <span id="AgentΚατάστασηΚατάσταση"></
</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:27;" id="LogouTBox">
<span style="position:absolute;left:0px;top:0px;z-index:28;" id="LogouTBox">
<table border=1 bgcolor="#FFFFFF" width=650 height=500><TR><TD align=center><BR><span id="LogouTBoxLink">ΑΠΟΣΥΝΔΕΣΗ</span></TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:70px;z-index:28;" id="DispoButtonHideA">
<span style="position:absolute;left:0px;top:70px;z-index:29;" id="DispoButtonHideA">
<table border=0 bgcolor="#CCFFCC" width=165 height=22><TR><TD align=center VALIGN=top></TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:138px;z-index:29;" id="DispoButtonHideB">
<span style="position:absolute;left:0px;top:138px;z-index:30;" id="DispoButtonHideB">
<table border=0 bgcolor="#CCFFCC" width=165 height=250><TR><TD align=center VALIGN=top>&nbsp;</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:30;" id="DispoButtonHideC">
<span style="position:absolute;left:0px;top:0px;z-index:31;" id="DispoButtonHideC">
<table border=0 bgcolor="#CCFFCC" width=650 height=47><TR><TD align=center VALIGN=top>Οποιεσδήποτε αλλαγές που γίνονται στις πληροφορίες πελατών κατωτέρω αυτή τη στιγμή δεν θα είναι, πρέπει να αλλάξετε τις πληροφορίες πελατών ενώπιον σας Hangup η κλήση. </TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:31;" id="DispoSelectBox">
<span style="position:absolute;left:0px;top:0px;z-index:32;" id="DispoSelectBox">
<table border=1 bgcolor="#CCFFCC" width=650 height=460><TR><TD align=center VALIGN=top> Τερματισμός Κλήσης :<span id="DispoSelectPhonE"></span> &nbsp; &nbsp; &nbsp; <span id="DispoSelectHAspan"><a href="#" onclick="DispoHanguPAgaiN()">Ξανακλήσε</a></span> &nbsp; &nbsp; &nbsp; <span id="DispoSelectMaxMin"><a href="#" onclick="DispoMinimize()">ελαχιστοποιήστε</a></span><BR>
<span id="DispoSelectContent"> Επιλογή τερματισμού της κλήσης </span>
<input type=hidden name=DispoSelection><BR>
@@ -5400,7 +5463,7 @@ Your Κατάσταση: <span id="AgentΚατάστασηΚατάσταση"></
</span>
<span style="position:absolute;left:0px;top:0px;z-index:32;" id="CallBackSelectBox">
<span style="position:absolute;left:0px;top:0px;z-index:33;" id="CallBackSelectBox">
<table border=1 bgcolor="#CCFFCC" width=650 height=460><TR><TD align=center VALIGN=top> Επιλέξτε μια ημερομηνία CallBack :<span id="CallBackDatE"></span><BR>
<input type=hidden name=CallBackDatESelectioN>
<input type=hidden name=CallBackTimESelectioN>
@@ -5443,7 +5506,7 @@ Your Κατάσταση: <span id="AgentΚατάστασηΚατάσταση"></
</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:33;" id="CloserSelectBox">
<span style="position:absolute;left:0px;top:0px;z-index:34;" id="CloserSelectBox">
<table border=1 bgcolor="#CCFFCC" width=650 height=460><TR><TD align=center VALIGN=top> CLOSER ΕΙΣΕΡΧΟΜΕΝΗ ΕΠΙΛΟΓΗ ΟΜΑΔΑΣ <BR>
<span id="CloserSelectContent"> Επιλογή Closer εισερχόμενης ομάδας </span>
<input type=hidden name=CloserSelectList><BR>
@@ -5454,7 +5517,7 @@ Your Κατάσταση: <span id="AgentΚατάστασηΚατάσταση"></
</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:34;" id="NothingBox">
<span style="position:absolute;left:0px;top:0px;z-index:35;" id="NothingBox">
<BUTTON Type=button name="inert_button"><img src="../agc/images/blank.gif"></BUTTON>
<span id="DiaLLeaDPrevieWHide">Κανάλι</span>
<span id="DiaLDiaLAltPhonEHide">Κανάλι</span>
+54 -2
View File
@@ -108,9 +108,11 @@
# 60623-1414 - Fixed variable filter for phone_code and fixed manual dial logic
# 60821-1600 - Added ability to omit the phone code on vicidial lead dialing
# 60821-1647 - Added ability to not delete sessions at logout
# 60906-1124 - Added lookup and sending of callback data for CALLBK calls
#
$version = '2.0.36';
$build = '60821-1647';
$version = '2.0.37';
$build = '60906-1124';
require("dbconnect.php");
@@ -498,6 +500,27 @@ if ($ACTION == 'manDiaLnextCaLL')
$called_count++;
##### if lead is a callback, grab the callback comments
$CBentry_time = '';
$CBcallback_time = '';
$CBuser = '';
$CBcomments = '';
if (ereg("CALLBK",$dispo))
{
$stmt="SELECT entry_time,callback_time,user,comments FROM vicidial_callbacks where lead_id='$lead_id' order by callback_id desc LIMIT 1;";
$rslt=mysql_query($stmt, $link);
if ($DB) {echo "$stmt\n";}
$cb_record_ct = mysql_num_rows($rslt);
if ($cb_record_ct > 0)
{
$row=mysql_fetch_row($rslt);
$CBentry_time = trim("$row[0]");
$CBcallback_time = trim("$row[1]");
$CBuser = trim("$row[2]");
$CBcomments = trim("$row[3]");
}
}
### flag the lead as called and change it's status to INCALL
$stmt = "UPDATE vicidial_list set status='INCALL', called_since_last_reset='Y', called_count='$called_count',user='$user' where lead_id='$lead_id';";
if ($DB) {echo "$stmt\n";}
@@ -582,6 +605,10 @@ if ($ACTION == 'manDiaLnextCaLL')
$LeaD_InfO .= $security . "\n";
$LeaD_InfO .= $comments . "\n";
$LeaD_InfO .= $called_count . "\n";
$LeaD_InfO .= $CBentry_time . "\n";
$LeaD_InfO .= $CBcallback_time . "\n";
$LeaD_InfO .= $CBuser . "\n";
$LeaD_InfO .= $CBcomments . "\n";
echo $LeaD_InfO;
@@ -1076,6 +1103,27 @@ if ($ACTION == 'VDADcheckINCOMING')
$called_count = trim("$row[30]");
}
##### if lead is a callback, grab the callback comments
$CBentry_time = '';
$CBcallback_time = '';
$CBuser = '';
$CBcomments = '';
if (ereg("CALLBK",$dispo))
{
$stmt="SELECT entry_time,callback_time,user,comments FROM vicidial_callbacks where lead_id='$lead_id' order by callback_id desc LIMIT 1;";
$rslt=mysql_query($stmt, $link);
if ($DB) {echo "$stmt\n";}
$cb_record_ct = mysql_num_rows($rslt);
if ($cb_record_ct > 0)
{
$row=mysql_fetch_row($rslt);
$CBentry_time = trim("$row[0]");
$CBcallback_time = trim("$row[1]");
$CBuser = trim("$row[2]");
$CBcomments = trim("$row[3]");
}
}
### update the lead status to INCALL
$stmt = "UPDATE vicidial_list set status='INCALL', user='$user' where lead_id='$lead_id';";
if ($DB) {echo "$stmt\n";}
@@ -1215,6 +1263,10 @@ if ($ACTION == 'VDADcheckINCOMING')
$LeaD_InfO .= $security . "\n";
$LeaD_InfO .= $comments . "\n";
$LeaD_InfO .= $called_count . "\n";
$LeaD_InfO .= $CBentry_time . "\n";
$LeaD_InfO .= $CBcallback_time . "\n";
$LeaD_InfO .= $CBuser . "\n";
$LeaD_InfO .= $CBcomments . "\n";
echo $LeaD_InfO;
+82 -19
View File
@@ -124,6 +124,8 @@
# 60821-1643 - Added no_delete_sessions option to not delete sessions
# 60822-0512 - Changed phone number fields to be maxlength of 12
# 60829-1531 - Made compatible with WeBRooTWritablE setting in dbconnect.php
# 60906-1152 - Added Previous CallBack info display span
# 60906-1715 - Allow for Local phone extension conferences
#
require("dbconnect.php");
@@ -169,8 +171,8 @@ if (isset($_GET["relogin"])) {$relogin=$_GET["relogin"];}
$forever_stop=0;
$version = '2.0.97';
$build = '60829-1531';
$version = '2.0.99';
$build = '60906-1715';
if ($force_logout)
{
@@ -1386,6 +1388,10 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
var no_delete_sessions = '<? echo $no_delete_sessions ?>';
var webform_session = '<? echo $webform_sessionname ?>';
var local_consult_xfers = '<? echo $local_consult_xfers ?>';
var CBentry_time = '';
var CBcallback_time = '';
var CBuser = '';
var CBcomments = '';
var DiaLControl_auto_HTML = "<IMG SRC=\"../agc/images/vdc_LB_pause_OFF.gif\" border=0 alt=\"Pause\"><a href=\"#\" onclick=\"AutoDial_ReSume_PauSe('VDADready');\"><IMG SRC=\"../agc/images/vdc_LB_resume.gif\" border=0 alt=\"Resume\"></a>";
var DiaLControl_auto_HTML_ready = "<a href=\"#\" onclick=\"AutoDial_ReSume_PauSe('VDADpause');\"><IMG SRC=\"../agc/images/vdc_LB_pause.gif\" border=0 alt=\"Pause\"></a><IMG SRC=\"../agc/images/vdc_LB_resume_OFF.gif\" border=0 alt=\"Resume\">";
var DiaLControl_auto_HTML_OFF = "<IMG SRC=\"../agc/images/vdc_LB_pause_OFF.gif\" border=0 alt=\"Pause\"><IMG SRC=\"../agc/images/vdc_LB_resume_OFF.gif\" border=0 alt=\"Resume\">";
@@ -1550,7 +1556,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
}
}
if (taskFromConf == 'YES')
{basic_originate_call(manual_string,'NO','YES',dial_conf_exten);}
{basic_originate_call(manual_string,'NO','YES',dial_conf_exten,'NO',taskFromConf);}
else
{basic_originate_call(manual_string,'NO','NO');}
@@ -1559,7 +1565,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
// ################################################################################
// Send Originate command to manager to place a phone call
function basic_originate_call(tasknum,taskprefix,taskreverse,taskdialvalue,tasknowait)
function basic_originate_call(tasknum,taskprefix,taskreverse,taskdialvalue,tasknowait,taskconfxfer)
{
var xmlhttp=false;
/*@cc_on @*/
@@ -1628,7 +1634,10 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
}
var originatevalue = protodial + "/" + extendial;
}
var queryCID = "DVagcW" + epoch_sec + user_abb;
if (taskconfxfer == 'YES')
{var queryCID = "DCagcW" + epoch_sec + user_abb;}
else
{var queryCID = "DVagcW" + epoch_sec + user_abb;}
VMCoriginate_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=Originate&format=text&channel=" + originatevalue + "&queryCID=" + queryCID + "&exten=" + orig_prefix + "" + dialnum + "&ext_context=" + ext_context + "&ext_priority=1&outbound_cid=" + campaign_cid;
xmlhttp.open('POST', 'manager_send.php');
@@ -2543,7 +2552,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
{
XDuniqueid = MDlookResponse_array[0];
XDchannel = MDlookResponse_array[1];
if ( (XDchannel.match(regMDL)) && (asterisk_version != '1.0.8') && (asterisk_version != '1.0.9') )
if ( (XDchannel.match(regMDL)) && (asterisk_version != '1.0.8') && (asterisk_version != '1.0.9') && (MD_ring_secondS < 10) )
{
// bad grab of Local channel, try again
MD_ring_secondS++;
@@ -2731,6 +2740,10 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
document.vicidial_form.called_count.value = MDnextResponse_array[27];
previous_called_count = MDnextResponse_array[27];
previous_dispo = MDnextResponse_array[2];
CBentry_time = MDnextResponse_array[28];
CBcallback_time = MDnextResponse_array[29];
CBuser = MDnextResponse_array[30];
CBcomments = MDnextResponse_array[31];
lead_dial_number = document.vicidial_form.phone_number.value;
document.getElementById("MainStatuSSpan").innerHTML = " Calling: " + document.vicidial_form.phone_number.value + " UID: " + MDnextCID + " &nbsp; " + man_status;
@@ -2796,6 +2809,11 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
{
document.getElementById("CusTInfOSpaN").innerHTML = " <B> PREVIOUS CALLBACK </B>";
document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor;
document.getElementById("CBcommentsBoxA").innerHTML = "<b>Last Call: </b>" + CBentry_time;
document.getElementById("CBcommentsBoxB").innerHTML = "<b>CallBack: </b>" + CBcallback_time;
document.getElementById("CBcommentsBoxC").innerHTML = "<b>Agent: </b>" + CBuser;
document.getElementById("CBcommentsBoxD").innerHTML = "<b>Comments: </b><br>" + CBcomments;
showDiv('CBcommentsBox');
}
var regWFAvars = new RegExp("\\?","ig");
@@ -3294,6 +3312,10 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
check_VDIC_array[30] = check_VDIC_array[30].replace(REGcommentsNL, "\n");
document.vicidial_form.comments.value = check_VDIC_array[30];
document.vicidial_form.called_count.value = check_VDIC_array[31];
CBentry_time = check_VDIC_array[32];
CBcallback_time = check_VDIC_array[33];
CBuser = check_VDIC_array[34];
CBcomments = check_VDIC_array[35];
lead_dial_number = document.vicidial_form.phone_number.value;
document.getElementById("MainStatuSSpan").innerHTML = " Incoming: " + document.vicidial_form.phone_number.value + " UID: " + CIDcheck + " &nbsp; " + VDIC_fronter;
@@ -3302,6 +3324,11 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
{
document.getElementById("CusTInfOSpaN").innerHTML = " <B> PREVIOUS CALLBACK </B>";
document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor;
document.getElementById("CBcommentsBoxA").innerHTML = "<b>Last Call: </b>" + CBentry_time;
document.getElementById("CBcommentsBoxB").innerHTML = "<b>CallBack: </b>" + CBcallback_time;
document.getElementById("CBcommentsBoxC").innerHTML = "<b>Agent: </b>" + CBuser;
document.getElementById("CBcommentsBoxD").innerHTML = "<b>Comments: </b><br>" + CBcomments;
showDiv('CBcommentsBox');
}
if (VDIC_data_VDIG[1].length > 0)
@@ -4045,6 +4072,8 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
document.getElementById("DispoSelectMaxMin").innerHTML = "<a href=\"#\" onclick=\"DispoMinimize()\">minimize</a>";
document.getElementById("DispoSelectHAspan").innerHTML = "<a href=\"#\" onclick=\"DispoHanguPAgaiN()\">Hangup Again</a>";
CBcommentsBoxhide();
AgentDispoing = 0;
if (wrapup_waiting == 0)
@@ -4553,6 +4582,22 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
}
// ################################################################################
// Hide the CBcommentsBox span upon click
function CBcommentsBoxhide()
{
CBentry_time = '';
CBcallback_time = '';
CBuser = '';
CBcomments = '';
document.getElementById("CBcommentsBoxA").innerHTML = "";
document.getElementById("CBcommentsBoxB").innerHTML = "";
document.getElementById("CBcommentsBoxC").innerHTML = "";
document.getElementById("CBcommentsBoxD").innerHTML = "";
hideDiv('CBcommentsBox');
}
// ################################################################################
// Populating the date field in the callback frame prior to submission
function CB_date_pick(taskdate)
@@ -4638,6 +4683,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
if (VICIDiaL_closer_login_checked==0)
{
hideDiv('NothingBox');
hideDiv('CBcommentsBox');
hideDiv('HotKeyActionBox');
hideDiv('HotKeyEntriesBox');
hideDiv('MainXfeRBox');
@@ -5237,7 +5283,7 @@ echo "</head>\n";
<span id="CBstatusSpan">X ACTIVE CALLBACKS</span> <BR>
</font></span>
<span style="position:absolute;left:0px;top:0px;z-index:35;" id="CallBacKsLisTBox">
<span style="position:absolute;left:0px;top:0px;z-index:36;" id="CallBacKsLisTBox">
<table border=1 bgcolor="#CCFFCC" width=650 height=460><TR><TD align=center VALIGN=top> CALLBACKS FOR AGENT <? echo $VD_login ?>:<BR>Click on a callback below to call the customer back now. If you click on a record below to call it, it will be removed from the list.
<BR>
<div class="scroll_callback" id="CallBacKsLisT"></div>
@@ -5248,7 +5294,7 @@ echo "</head>\n";
</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:36;" id="NeWManuaLDiaLBox">
<span style="position:absolute;left:0px;top:0px;z-index:37;" id="NeWManuaLDiaLBox">
<table border=1 bgcolor="#CCFFCC" width=650 height=460><TR><TD align=center VALIGN=top> NEW MANUAL DIAL LEAD FOR <? echo "$VD_login in campaign $VD_campaign" ?>:<BR><BR>Enter information below for the new lead you wish to call.
<BR>
<?
@@ -5344,7 +5390,24 @@ Your Status: <span id="AgentStatusStatus"></span> <BR>Calls Dialing: <span id="A
</TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:12px;z-index:24;" id="NoneInSessionBox">
<span style="position:absolute;left:5px;top:310px;z-index:24;" id="CBcommentsBox">
<table border=0 bgcolor="#FFFFCC" width=620 height=70>
<TR bgcolor="#FFFF66">
<TD align=left><font class="sh_text"> Previous Callback Information: </font></td>
<TD align=right><font class="sk_text"> <a href="#" onclick="CBcommentsBoxhide();return false;">close</a> </font></td>
</tr><tr>
<TD><font class="sk_text">
<span id="CBcommentsBoxA"></span><BR>
<span id="CBcommentsBoxB"></span><BR>
<span id="CBcommentsBoxC"></span><BR>
</font></TD>
<TD width=320><font class="sk_text">
<span id="CBcommentsBoxD"></span>
</font></TD>
</TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:12px;z-index:25;" id="NoneInSessionBox">
<table border=1 bgcolor="#CCFFFF" width=600 height=500><TR><TD align=center> Noone is in your session: <span id="NoneInSessionID"></span><BR>
<a href="#" onclick="NoneInSessionOK();return false;">Go Back</a>
<BR><BR>
@@ -5352,7 +5415,7 @@ Your Status: <span id="AgentStatusStatus"></span> <BR>Calls Dialing: <span id="A
</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:25;" id="CustomerGoneBox">
<span style="position:absolute;left:0px;top:0px;z-index:26;" id="CustomerGoneBox">
<table border=1 bgcolor="#CCFFFF" width=650 height=500><TR><TD align=center> Customer has hung up: <span id="CustomerGoneChanneL"></span><BR>
<a href="#" onclick="CustomerGoneOK();return false;">Go Back</a>
<BR><BR>
@@ -5361,7 +5424,7 @@ Your Status: <span id="AgentStatusStatus"></span> <BR>Calls Dialing: <span id="A
</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:26;" id="WrapupBox">
<span style="position:absolute;left:0px;top:0px;z-index:27;" id="WrapupBox">
<table border=1 bgcolor="#CCFFCC" width=650 height=550><TR><TD align=center> Call Wrapup: <span id="WrapupTimer"></span> seconds remaining in wrapup<BR><BR>
<span id="WrapupMessage"><?=$wrapup_message ?></span>
<BR><BR>
@@ -5370,23 +5433,23 @@ Your Status: <span id="AgentStatusStatus"></span> <BR>Calls Dialing: <span id="A
</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:27;" id="LogouTBox">
<span style="position:absolute;left:0px;top:0px;z-index:28;" id="LogouTBox">
<table border=1 bgcolor="#FFFFFF" width=650 height=500><TR><TD align=center><BR><span id="LogouTBoxLink">LOGOUT</span></TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:70px;z-index:28;" id="DispoButtonHideA">
<span style="position:absolute;left:0px;top:70px;z-index:29;" id="DispoButtonHideA">
<table border=0 bgcolor="#CCFFCC" width=165 height=22><TR><TD align=center VALIGN=top></TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:138px;z-index:29;" id="DispoButtonHideB">
<span style="position:absolute;left:0px;top:138px;z-index:30;" id="DispoButtonHideB">
<table border=0 bgcolor="#CCFFCC" width=165 height=250><TR><TD align=center VALIGN=top>&nbsp;</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:30;" id="DispoButtonHideC">
<span style="position:absolute;left:0px;top:0px;z-index:31;" id="DispoButtonHideC">
<table border=0 bgcolor="#CCFFCC" width=650 height=47><TR><TD align=center VALIGN=top>Any changes made to the customer information below at this time will not be comitted, You must change customer information before you Hangup the call. </TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:31;" id="DispoSelectBox">
<span style="position:absolute;left:0px;top:0px;z-index:32;" id="DispoSelectBox">
<table border=1 bgcolor="#CCFFCC" width=650 height=460><TR><TD align=center VALIGN=top> DISPOSITION CALL :<span id="DispoSelectPhonE"></span> &nbsp; &nbsp; &nbsp; <span id="DispoSelectHAspan"><a href="#" onclick="DispoHanguPAgaiN()">Hangup Again</a></span> &nbsp; &nbsp; &nbsp; <span id="DispoSelectMaxMin"><a href="#" onclick="DispoMinimize()">minimize</a></span><BR>
<span id="DispoSelectContent"> End-of-call Disposition Selection </span>
<input type=hidden name=DispoSelection><BR>
@@ -5400,7 +5463,7 @@ Your Status: <span id="AgentStatusStatus"></span> <BR>Calls Dialing: <span id="A
</span>
<span style="position:absolute;left:0px;top:0px;z-index:32;" id="CallBackSelectBox">
<span style="position:absolute;left:0px;top:0px;z-index:33;" id="CallBackSelectBox">
<table border=1 bgcolor="#CCFFCC" width=650 height=460><TR><TD align=center VALIGN=top> Select a CallBack Date :<span id="CallBackDatE"></span><BR>
<input type=hidden name=CallBackDatESelectioN>
<input type=hidden name=CallBackTimESelectioN>
@@ -5443,7 +5506,7 @@ Your Status: <span id="AgentStatusStatus"></span> <BR>Calls Dialing: <span id="A
</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:33;" id="CloserSelectBox">
<span style="position:absolute;left:0px;top:0px;z-index:34;" id="CloserSelectBox">
<table border=1 bgcolor="#CCFFCC" width=650 height=460><TR><TD align=center VALIGN=top> CLOSER INBOUND GROUP SELECTION <BR>
<span id="CloserSelectContent"> Closer Inbound Group Selection </span>
<input type=hidden name=CloserSelectList><BR>
@@ -5454,7 +5517,7 @@ Your Status: <span id="AgentStatusStatus"></span> <BR>Calls Dialing: <span id="A
</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:34;" id="NothingBox">
<span style="position:absolute;left:0px;top:0px;z-index:35;" id="NothingBox">
<BUTTON Type=button name="inert_button"><img src="../agc/images/blank.gif"></BUTTON>
<span id="DiaLLeaDPrevieWHide">Channel</span>
<span id="DiaLDiaLAltPhonEHide">Channel</span>
+54 -2
View File
@@ -108,9 +108,11 @@
# 60623-1414 - Fixed variable filter for phone_code and fixed manual dial logic
# 60821-1600 - Added ability to omit the phone code on vicidial lead dialing
# 60821-1647 - Added ability to not delete sessions at logout
# 60906-1124 - Added lookup and sending of callback data for CALLBK calls
#
$version = '2.0.36';
$build = '60821-1647';
$version = '2.0.37';
$build = '60906-1124';
require("dbconnect.php");
@@ -498,6 +500,27 @@ if ($ACTION == 'manDiaLnextCaLL')
$called_count++;
##### if lead is a callback, grab the callback comments
$CBentry_time = '';
$CBcallback_time = '';
$CBuser = '';
$CBcomments = '';
if (ereg("CALLBK",$dispo))
{
$stmt="SELECT entry_time,callback_time,user,comments FROM vicidial_callbacks where lead_id='$lead_id' order by callback_id desc LIMIT 1;";
$rslt=mysql_query($stmt, $link);
if ($DB) {echo "$stmt\n";}
$cb_record_ct = mysql_num_rows($rslt);
if ($cb_record_ct > 0)
{
$row=mysql_fetch_row($rslt);
$CBentry_time = trim("$row[0]");
$CBcallback_time = trim("$row[1]");
$CBuser = trim("$row[2]");
$CBcomments = trim("$row[3]");
}
}
### flag the lead as called and change it's status to INCALL
$stmt = "UPDATE vicidial_list set status='INCALL', called_since_last_reset='Y', called_count='$called_count',user='$user' where lead_id='$lead_id';";
if ($DB) {echo "$stmt\n";}
@@ -582,6 +605,10 @@ if ($ACTION == 'manDiaLnextCaLL')
$LeaD_InfO .= $security . "\n";
$LeaD_InfO .= $comments . "\n";
$LeaD_InfO .= $called_count . "\n";
$LeaD_InfO .= $CBentry_time . "\n";
$LeaD_InfO .= $CBcallback_time . "\n";
$LeaD_InfO .= $CBuser . "\n";
$LeaD_InfO .= $CBcomments . "\n";
echo $LeaD_InfO;
@@ -1076,6 +1103,27 @@ if ($ACTION == 'VDADcheckINCOMING')
$called_count = trim("$row[30]");
}
##### if lead is a callback, grab the callback comments
$CBentry_time = '';
$CBcallback_time = '';
$CBuser = '';
$CBcomments = '';
if (ereg("CALLBK",$dispo))
{
$stmt="SELECT entry_time,callback_time,user,comments FROM vicidial_callbacks where lead_id='$lead_id' order by callback_id desc LIMIT 1;";
$rslt=mysql_query($stmt, $link);
if ($DB) {echo "$stmt\n";}
$cb_record_ct = mysql_num_rows($rslt);
if ($cb_record_ct > 0)
{
$row=mysql_fetch_row($rslt);
$CBentry_time = trim("$row[0]");
$CBcallback_time = trim("$row[1]");
$CBuser = trim("$row[2]");
$CBcomments = trim("$row[3]");
}
}
### update the lead status to INCALL
$stmt = "UPDATE vicidial_list set status='INCALL', user='$user' where lead_id='$lead_id';";
if ($DB) {echo "$stmt\n";}
@@ -1215,6 +1263,10 @@ if ($ACTION == 'VDADcheckINCOMING')
$LeaD_InfO .= $security . "\n";
$LeaD_InfO .= $comments . "\n";
$LeaD_InfO .= $called_count . "\n";
$LeaD_InfO .= $CBentry_time . "\n";
$LeaD_InfO .= $CBcallback_time . "\n";
$LeaD_InfO .= $CBuser . "\n";
$LeaD_InfO .= $CBcomments . "\n";
echo $LeaD_InfO;
+82 -19
View File
@@ -124,6 +124,8 @@
# 60821-1643 - Added no_delete_sessions option to not delete sessions
# 60822-0512 - Changed phone number fields to be maxlength of 12
# 60829-1531 - Made compatible with WeBRooTWritablE setting in dbconnect.php
# 60906-1152 - Added Previous CallBack info display span
# 60906-1715 - Allow for Local phone extension conferences
#
require("dbconnect.php");
@@ -169,8 +171,8 @@ if (isset($_GET["relogin"])) {$relogin=$_GET["relogin"];}
$forever_stop=0;
$version = '2.0.97';
$build = '60829-1531';
$version = '2.0.99';
$build = '60906-1715';
if ($force_logout)
{
@@ -1386,6 +1388,10 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
var no_delete_sessions = '<? echo $no_delete_sessions ?>';
var webform_session = '<? echo $webform_sessionname ?>';
var local_consult_xfers = '<? echo $local_consult_xfers ?>';
var CBentry_time = '';
var CBcallback_time = '';
var CBuser = '';
var CBcomments = '';
var DiaLControl_auto_HTML = "<IMG SRC=\"../agc/images/vdc_LB_pause_OFF_es.gif\" border=0 alt=\"Pausa\"><a href=\"#\" onclick=\"AutoDial_ReSume_PauSe('VDADready');\"><IMG SRC=\"../agc/images/vdc_LB_resume_es.gif\" border=0 alt=\"Comienzo\"></a>";
var DiaLControl_auto_HTML_ready = "<a href=\"#\" onclick=\"AutoDial_ReSume_PauSe('VDADpause');\"><IMG SRC=\"../agc/images/vdc_LB_pause_es.gif\" border=0 alt=\"Pausa\"></a><IMG SRC=\"../agc/images/vdc_LB_resume_OFF_es.gif\" border=0 alt=\"Comienzo\">";
var DiaLControl_auto_HTML_OFF = "<IMG SRC=\"../agc/images/vdc_LB_pause_OFF_es.gif\" border=0 alt=\"Pausa\"><IMG SRC=\"../agc/images/vdc_LB_resume_OFF_es.gif\" border=0 alt=\"Comienzo\">";
@@ -1550,7 +1556,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
}
}
if (taskFromConf == 'YES')
{basic_originate_call(manual_string,'NO','YES',dial_conf_exten);}
{basic_originate_call(manual_string,'NO','YES',dial_conf_exten,'NO',taskFromConf);}
else
{basic_originate_call(manual_string,'NO','NO');}
@@ -1559,7 +1565,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
// ################################################################################
// Send Originate command to manager to place a phone call
function basic_originate_call(tasknum,taskprefix,taskreverse,taskdialvalue,tasknowait)
function basic_originate_call(tasknum,taskprefix,taskreverse,taskdialvalue,tasknowait,taskconfxfer)
{
var xmlhttp=false;
/*@cc_on @*/
@@ -1628,7 +1634,10 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
}
var originatevalue = protodial + "/" + extendial;
}
var queryCID = "DVagcW" + epoch_sec + user_abb;
if (taskconfxfer == 'YES')
{var queryCID = "DCagcW" + epoch_sec + user_abb;}
else
{var queryCID = "DVagcW" + epoch_sec + user_abb;}
VMCoriginate_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=Originate&format=text&channel=" + originatevalue + "&queryCID=" + queryCID + "&exten=" + orig_prefix + "" + dialnum + "&ext_context=" + ext_context + "&ext_priority=1&outbound_cid=" + campaign_cid;
xmlhttp.open('POST', 'manager_send.php');
@@ -2543,7 +2552,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
{
XDuniqueid = MDlookResponse_array[0];
XDchannel = MDlookResponse_array[1];
if ( (XDchannel.match(regMDL)) && (asterisk_version != '1.0.8') && (asterisk_version != '1.0.9') )
if ( (XDchannel.match(regMDL)) && (asterisk_version != '1.0.8') && (asterisk_version != '1.0.9') && (MD_ring_secondS < 10) )
{
// bad grab of Local channel, try again
MD_ring_secondS++;
@@ -2731,6 +2740,10 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
document.vicidial_form.called_count.value = MDnextResponse_array[27];
previous_called_count = MDnextResponse_array[27];
previous_dispo = MDnextResponse_array[2];
CBentry_time = MDnextResponse_array[28];
CBcallback_time = MDnextResponse_array[29];
CBuser = MDnextResponse_array[30];
CBcomments = MDnextResponse_array[31];
lead_dial_number = document.vicidial_form.phone_number.value;
document.getElementById("MainStatuSSpan").innerHTML = " Llamando: " + document.vicidial_form.phone_number.value + " UID: " + MDnextCID + " &nbsp; " + man_status;
@@ -2796,6 +2809,11 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
{
document.getElementById("CusTInfOSpaN").innerHTML = " <B> PREVIOUS LLAMADABACK </B>";
document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor;
document.getElementById("CBcommentsBoxA").innerHTML = "<b>Último Call: </b>" + CBentry_time;
document.getElementById("CBcommentsBoxB").innerHTML = "<b>CallBack: </b>" + CBcallback_time;
document.getElementById("CBcommentsBoxC").innerHTML = "<b>Agent: </b>" + CBuser;
document.getElementById("CBcommentsBoxD").innerHTML = "<b>Comentarios: </b><br>" + CBcomments;
showDiv('CBcommentsBox');
}
var regWFAvars = new RegExp("\\?","ig");
@@ -3294,6 +3312,10 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
check_VDIC_array[30] = check_VDIC_array[30].replace(REGcommentsNL, "\n");
document.vicidial_form.comments.value = check_VDIC_array[30];
document.vicidial_form.called_count.value = check_VDIC_array[31];
CBentry_time = check_VDIC_array[32];
CBcallback_time = check_VDIC_array[33];
CBuser = check_VDIC_array[34];
CBcomments = check_VDIC_array[35];
lead_dial_number = document.vicidial_form.phone_number.value;
document.getElementById("MainStatuSSpan").innerHTML = " Entrante: " + document.vicidial_form.phone_number.value + " UID: " + CIDcheck + " &nbsp; " + VDIC_fronter;
@@ -3302,6 +3324,11 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
{
document.getElementById("CusTInfOSpaN").innerHTML = " <B> PREVIOUS LLAMADABACK </B>";
document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor;
document.getElementById("CBcommentsBoxA").innerHTML = "<b>Último Call: </b>" + CBentry_time;
document.getElementById("CBcommentsBoxB").innerHTML = "<b>CallBack: </b>" + CBcallback_time;
document.getElementById("CBcommentsBoxC").innerHTML = "<b>Agent: </b>" + CBuser;
document.getElementById("CBcommentsBoxD").innerHTML = "<b>Comentarios: </b><br>" + CBcomments;
showDiv('CBcommentsBox');
}
if (VDIC_data_VDIG[1].length > 0)
@@ -4045,6 +4072,8 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
document.getElementById("DispoSelectMaxMin").innerHTML = "<a href=\"#\" onclick=\"DispoMinimize()\">reduzca al mínimo</a>";
document.getElementById("DispoSelectHAspan").innerHTML = "<a href=\"#\" onclick=\"DispoHanguPAgaiN()\">Retraso Otra vez</a>";
CBcommentsBoxhide();
AgentDispoing = 0;
if (wrapup_waiting == 0)
@@ -4553,6 +4582,22 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
}
// ################################################################################
// Hide the CBcommentsBox span upon click
function CBcommentsBoxhide()
{
CBentry_time = '';
CBcallback_time = '';
CBuser = '';
CBcomments = '';
document.getElementById("CBcommentsBoxA").innerHTML = "";
document.getElementById("CBcommentsBoxB").innerHTML = "";
document.getElementById("CBcommentsBoxC").innerHTML = "";
document.getElementById("CBcommentsBoxD").innerHTML = "";
hideDiv('CBcommentsBox');
}
// ################################################################################
// Populating the date field in the callback frame prior to submission
function CB_date_pick(taskdate)
@@ -4638,6 +4683,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
if (VICIDiaL_closer_login_checked==0)
{
hideDiv('NothingBox');
hideDiv('CBcommentsBox');
hideDiv('HotKeyActionBox');
hideDiv('HotKeyEntriesBox');
hideDiv('MainXfeRBox');
@@ -5237,7 +5283,7 @@ echo "</head>\n";
<span id="CBstatusSpan">X SERVICIOS REPETIDOS ACTIVOS</span> <BR>
</font></span>
<span style="position:absolute;left:0px;top:0px;z-index:35;" id="CallBacKsLisTBox">
<span style="position:absolute;left:0px;top:0px;z-index:36;" id="CallBacKsLisTBox">
<table border=1 bgcolor="#CCFFCC" width=650 height=460><TR><TD align=center VALIGN=top> SERVICIOS REPETIDOS PARA EL AGENTE <? echo $VD_login ?>:<BR>Chasque encendido un servicio repetido abajo ahora para llamar la parte posteriora del cliente. Si usted chasca encendido un expediente abajo para llamarlo, será quitado de la lista.
<BR>
<div class="scroll_callback" id="CallBacKsLisT"></div>
@@ -5248,7 +5294,7 @@ echo "</head>\n";
</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:36;" id="NeWManuaLDiaLBox">
<span style="position:absolute;left:0px;top:0px;z-index:37;" id="NeWManuaLDiaLBox">
<table border=1 bgcolor="#CCFFCC" width=650 height=460><TR><TD align=center VALIGN=top> NUEVO PLOMO MANUAL DEL DIAL PARA <? echo "$VD_login in campaign $VD_campaign" ?>:<BR><BR>Incorpore la información abajo para el nuevo plomo que usted desea llamar.
<BR>
<?
@@ -5344,7 +5390,24 @@ Su Estado: <span id="AgentEstadoEstado"></span> <BR>Calls Dialing: <span id="Age
</TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:12px;z-index:24;" id="NoneInSessionBox">
<span style="position:absolute;left:5px;top:310px;z-index:24;" id="CBcommentsBox">
<table border=0 bgcolor="#FFFFCC" width=620 height=70>
<TR bgcolor="#FFFF66">
<TD align=left><font class="sh_text"> Previous Callback Information: </font></td>
<TD align=right><font class="sk_text"> <a href="#" onclick="CBcommentsBoxhide();return false;">close</a> </font></td>
</tr><tr>
<TD><font class="sk_text">
<span id="CBcommentsBoxA"></span><BR>
<span id="CBcommentsBoxB"></span><BR>
<span id="CBcommentsBoxC"></span><BR>
</font></TD>
<TD width=320><font class="sk_text">
<span id="CBcommentsBoxD"></span>
</font></TD>
</TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:12px;z-index:25;" id="NoneInSessionBox">
<table border=1 bgcolor="#CCFFFF" width=600 height=500><TR><TD align=center> Nadie está en su sesión: <span id="NoneInSessionID"></span><BR>
<a href="#" onclick="NoneInSessionOK();return false;">Vaya Detrás</a>
<BR><BR>
@@ -5352,7 +5415,7 @@ Su Estado: <span id="AgentEstadoEstado"></span> <BR>Calls Dialing: <span id="Age
</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:25;" id="CustomerGoneBox">
<span style="position:absolute;left:0px;top:0px;z-index:26;" id="CustomerGoneBox">
<table border=1 bgcolor="#CCFFFF" width=650 height=500><TR><TD align=center> El cliente ha colgado: <span id="CustomerGoneChanneL"></span><BR>
<a href="#" onclick="CustomerGoneOK();return false;">Vaya Detrás</a>
<BR><BR>
@@ -5361,7 +5424,7 @@ Su Estado: <span id="AgentEstadoEstado"></span> <BR>Calls Dialing: <span id="Age
</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:26;" id="WrapupBox">
<span style="position:absolute;left:0px;top:0px;z-index:27;" id="WrapupBox">
<table border=1 bgcolor="#CCFFCC" width=650 height=550><TR><TD align=center> Llamada Wrapup: <span id="WrapupTimer"></span> segundos restantes en wrapup<BR><BR>
<span id="WrapupMessage"><?=$wrapup_message ?></span>
<BR><BR>
@@ -5370,23 +5433,23 @@ Su Estado: <span id="AgentEstadoEstado"></span> <BR>Calls Dialing: <span id="Age
</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:27;" id="LogouTBox">
<span style="position:absolute;left:0px;top:0px;z-index:28;" id="LogouTBox">
<table border=1 bgcolor="#FFFFFF" width=650 height=500><TR><TD align=center><BR><span id="LogouTBoxLink">SALIR</span></TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:70px;z-index:28;" id="DispoButtonHideA">
<span style="position:absolute;left:0px;top:70px;z-index:29;" id="DispoButtonHideA">
<table border=0 bgcolor="#CCFFCC" width=165 height=22><TR><TD align=center VALIGN=top></TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:138px;z-index:29;" id="DispoButtonHideB">
<span style="position:absolute;left:0px;top:138px;z-index:30;" id="DispoButtonHideB">
<table border=0 bgcolor="#CCFFCC" width=165 height=250><TR><TD align=center VALIGN=top>&nbsp;</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:30;" id="DispoButtonHideC">
<span style="position:absolute;left:0px;top:0px;z-index:31;" id="DispoButtonHideC">
<table border=0 bgcolor="#CCFFCC" width=650 height=47><TR><TD align=center VALIGN=top>Cualquier cambio realizado al cliente que no será la información abajo en este tiempo comitted, usted debe cambiar la información del cliente antes de usted retraso la llamada. </TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:31;" id="DispoSelectBox">
<span style="position:absolute;left:0px;top:0px;z-index:32;" id="DispoSelectBox">
<table border=1 bgcolor="#CCFFCC" width=650 height=460><TR><TD align=center VALIGN=top> DISPOSITION LLAMADA :<span id="DispoSelectPhonE"></span> &nbsp; &nbsp; &nbsp; <span id="DispoSelectHAspan"><a href="#" onclick="DispoHanguPAgaiN()">Retraso Otra vez</a></span> &nbsp; &nbsp; &nbsp; <span id="DispoSelectMaxMin"><a href="#" onclick="DispoMinimize()">reduzca al mínimo</a></span><BR>
<span id="DispoSelectContent"> selección de la disposición del End-of-call </span>
<input type=hidden name=DispoSelection><BR>
@@ -5400,7 +5463,7 @@ Su Estado: <span id="AgentEstadoEstado"></span> <BR>Calls Dialing: <span id="Age
</span>
<span style="position:absolute;left:0px;top:0px;z-index:32;" id="CallBackSelectBox">
<span style="position:absolute;left:0px;top:0px;z-index:33;" id="CallBackSelectBox">
<table border=1 bgcolor="#CCFFCC" width=650 height=460><TR><TD align=center VALIGN=top> Seleccione una fecha del servicio repetido :<span id="CallBackDatE"></span><BR>
<input type=hidden name=CallBackDatESelectioN>
<input type=hidden name=CallBackTimESelectioN>
@@ -5443,7 +5506,7 @@ Su Estado: <span id="AgentEstadoEstado"></span> <BR>Calls Dialing: <span id="Age
</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:33;" id="CloserSelectBox">
<span style="position:absolute;left:0px;top:0px;z-index:34;" id="CloserSelectBox">
<table border=1 bgcolor="#CCFFCC" width=650 height=460><TR><TD align=center VALIGN=top> SELECCIÓN DEL GRUPO DE ENTRANTES CLOSER <BR>
<span id="CloserSelectContent"> SELECCIÓN DEL GRUPO DE ENTRANTES CLOSER </span>
<input type=hidden name=CloserSelectList><BR>
@@ -5454,7 +5517,7 @@ Su Estado: <span id="AgentEstadoEstado"></span> <BR>Calls Dialing: <span id="Age
</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:34;" id="NothingBox">
<span style="position:absolute;left:0px;top:0px;z-index:35;" id="NothingBox">
<BUTTON Type=button name="inert_button"><img src="../agc/images/blank.gif"></BUTTON>
<span id="DiaLLeaDPrevieWHide">Canal</span>
<span id="DiaLDiaLAltPhonEHide">Canal</span>
+54 -2
View File
@@ -108,9 +108,11 @@
# 60623-1414 - Fixed variable filter for phone_code and fixed manual dial logic
# 60821-1600 - Added ability to omit the phone code on vicidial lead dialing
# 60821-1647 - Added ability to not delete sessions at logout
# 60906-1124 - Added lookup and sending of callback data for CALLBK calls
#
$version = '2.0.36';
$build = '60821-1647';
$version = '2.0.37';
$build = '60906-1124';
require("dbconnect.php");
@@ -498,6 +500,27 @@ if ($ACTION == 'manDiaLnextCaLL')
$called_count++;
##### if lead is a callback, grab the callback comments
$CBentry_time = '';
$CBcallback_time = '';
$CBuser = '';
$CBcomments = '';
if (ereg("CALLBK",$dispo))
{
$stmt="SELECT entry_time,callback_time,user,comments FROM vicidial_callbacks where lead_id='$lead_id' order by callback_id desc LIMIT 1;";
$rslt=mysql_query($stmt, $link);
if ($DB) {echo "$stmt\n";}
$cb_record_ct = mysql_num_rows($rslt);
if ($cb_record_ct > 0)
{
$row=mysql_fetch_row($rslt);
$CBentry_time = trim("$row[0]");
$CBcallback_time = trim("$row[1]");
$CBuser = trim("$row[2]");
$CBcomments = trim("$row[3]");
}
}
### flag the lead as called and change it's status to INCALL
$stmt = "UPDATE vicidial_list set status='INCALL', called_since_last_reset='Y', called_count='$called_count',user='$user' where lead_id='$lead_id';";
if ($DB) {echo "$stmt\n";}
@@ -582,6 +605,10 @@ if ($ACTION == 'manDiaLnextCaLL')
$LeaD_InfO .= $security . "\n";
$LeaD_InfO .= $comments . "\n";
$LeaD_InfO .= $called_count . "\n";
$LeaD_InfO .= $CBentry_time . "\n";
$LeaD_InfO .= $CBcallback_time . "\n";
$LeaD_InfO .= $CBuser . "\n";
$LeaD_InfO .= $CBcomments . "\n";
echo $LeaD_InfO;
@@ -1076,6 +1103,27 @@ if ($ACTION == 'VDADcheckINCOMING')
$called_count = trim("$row[30]");
}
##### if lead is a callback, grab the callback comments
$CBentry_time = '';
$CBcallback_time = '';
$CBuser = '';
$CBcomments = '';
if (ereg("CALLBK",$dispo))
{
$stmt="SELECT entry_time,callback_time,user,comments FROM vicidial_callbacks where lead_id='$lead_id' order by callback_id desc LIMIT 1;";
$rslt=mysql_query($stmt, $link);
if ($DB) {echo "$stmt\n";}
$cb_record_ct = mysql_num_rows($rslt);
if ($cb_record_ct > 0)
{
$row=mysql_fetch_row($rslt);
$CBentry_time = trim("$row[0]");
$CBcallback_time = trim("$row[1]");
$CBuser = trim("$row[2]");
$CBcomments = trim("$row[3]");
}
}
### update the lead status to INCALL
$stmt = "UPDATE vicidial_list set status='INCALL', user='$user' where lead_id='$lead_id';";
if ($DB) {echo "$stmt\n";}
@@ -1215,6 +1263,10 @@ if ($ACTION == 'VDADcheckINCOMING')
$LeaD_InfO .= $security . "\n";
$LeaD_InfO .= $comments . "\n";
$LeaD_InfO .= $called_count . "\n";
$LeaD_InfO .= $CBentry_time . "\n";
$LeaD_InfO .= $CBcallback_time . "\n";
$LeaD_InfO .= $CBuser . "\n";
$LeaD_InfO .= $CBcomments . "\n";
echo $LeaD_InfO;
+82 -19
View File
@@ -124,6 +124,8 @@
# 60821-1643 - Added no_delete_sessions option to not delete sessions
# 60822-0512 - Changed phone number fields to be maxlength of 12
# 60829-1531 - Made compatible with WeBRooTWritablE setting in dbconnect.php
# 60906-1152 - Added Previous CallBack info display span
# 60906-1715 - Allow for Local phone extension conferences
#
require("dbconnect.php");
@@ -169,8 +171,8 @@ if (isset($_GET["relogin"])) {$relogin=$_GET["relogin"];}
$forever_stop=0;
$version = '2.0.97';
$build = '60829-1531';
$version = '2.0.99';
$build = '60906-1715';
if ($force_logout)
{
@@ -1386,6 +1388,10 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
var no_delete_sessions = '<? echo $no_delete_sessions ?>';
var webform_session = '<? echo $webform_sessionname ?>';
var local_consult_xfers = '<? echo $local_consult_xfers ?>';
var CBentry_time = '';
var CBcallback_time = '';
var CBuser = '';
var CBcomments = '';
var DiaLControl_auto_HTML = "<IMG SRC=\"../agc/images/vdc_LB_pause_OFF.gif\" border=0 alt=\"Pause\"><a href=\"#\" onclick=\"AutoDial_ReSume_PauSe('VDADready');\"><IMG SRC=\"../agc/images/vdc_LB_resume.gif\" border=0 alt=\"Résumé\"></a>";
var DiaLControl_auto_HTML_ready = "<a href=\"#\" onclick=\"AutoDial_ReSume_PauSe('VDADpause');\"><IMG SRC=\"../agc/images/vdc_LB_pause.gif\" border=0 alt=\"Pause\"></a><IMG SRC=\"../agc/images/vdc_LB_resume_OFF.gif\" border=0 alt=\"Résumé\">";
var DiaLControl_auto_HTML_OFF = "<IMG SRC=\"../agc/images/vdc_LB_pause_OFF.gif\" border=0 alt=\"Pause\"><IMG SRC=\"../agc/images/vdc_LB_resume_OFF.gif\" border=0 alt=\"Résumé\">";
@@ -1550,7 +1556,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
}
}
if (taskFromConf == 'YES')
{basic_originate_call(manual_string,'NO','YES',dial_conf_exten);}
{basic_originate_call(manual_string,'NO','YES',dial_conf_exten,'NO',taskFromConf);}
else
{basic_originate_call(manual_string,'NO','NO');}
@@ -1559,7 +1565,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
// ################################################################################
// Send Originate command to manager to place a phone call
function basic_originate_call(tasknum,taskprefix,taskreverse,taskdialvalue,tasknowait)
function basic_originate_call(tasknum,taskprefix,taskreverse,taskdialvalue,tasknowait,taskconfxfer)
{
var xmlhttp=false;
/*@cc_on @*/
@@ -1628,7 +1634,10 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
}
var originatevalue = protodial + "/" + extendial;
}
var queryCID = "DVagcW" + epoch_sec + user_abb;
if (taskconfxfer == 'YES')
{var queryCID = "DCagcW" + epoch_sec + user_abb;}
else
{var queryCID = "DVagcW" + epoch_sec + user_abb;}
VMCoriginate_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=Originate&format=text&channel=" + originatevalue + "&queryCID=" + queryCID + "&exten=" + orig_prefix + "" + dialnum + "&ext_context=" + ext_context + "&ext_priority=1&outbound_cid=" + campaign_cid;
xmlhttp.open('POST', 'manager_send.php');
@@ -2543,7 +2552,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
{
XDuniqueid = MDlookResponse_array[0];
XDchannel = MDlookResponse_array[1];
if ( (XDchannel.match(regMDL)) && (asterisk_version != '1.0.8') && (asterisk_version != '1.0.9') )
if ( (XDchannel.match(regMDL)) && (asterisk_version != '1.0.8') && (asterisk_version != '1.0.9') && (MD_ring_secondS < 10) )
{
// bad grab of Local channel, try again
MD_ring_secondS++;
@@ -2731,6 +2740,10 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
document.vicidial_form.called_count.value = MDnextResponse_array[27];
previous_called_count = MDnextResponse_array[27];
previous_dispo = MDnextResponse_array[2];
CBentry_time = MDnextResponse_array[28];
CBcallback_time = MDnextResponse_array[29];
CBuser = MDnextResponse_array[30];
CBcomments = MDnextResponse_array[31];
lead_dial_number = document.vicidial_form.phone_number.value;
document.getElementById("MainStatuSSpan").innerHTML = " Appeler: " + document.vicidial_form.phone_number.value + " UID: " + MDnextCID + " &nbsp; " + man_status;
@@ -2796,6 +2809,11 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
{
document.getElementById("CusTInfOSpaN").innerHTML = " <B> PREVIOUS APPELBACK </B>";
document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor;
document.getElementById("CBcommentsBoxA").innerHTML = "<b>Bout Call: </b>" + CBentry_time;
document.getElementById("CBcommentsBoxB").innerHTML = "<b>CallBack: </b>" + CBcallback_time;
document.getElementById("CBcommentsBoxC").innerHTML = "<b>Agent: </b>" + CBuser;
document.getElementById("CBcommentsBoxD").innerHTML = "<b>Commentaires: </b><br>" + CBcomments;
showDiv('CBcommentsBox');
}
var regWFAvars = new RegExp("\\?","ig");
@@ -3294,6 +3312,10 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
check_VDIC_array[30] = check_VDIC_array[30].replace(REGcommentsNL, "\n");
document.vicidial_form.comments.value = check_VDIC_array[30];
document.vicidial_form.called_count.value = check_VDIC_array[31];
CBentry_time = check_VDIC_array[32];
CBcallback_time = check_VDIC_array[33];
CBuser = check_VDIC_array[34];
CBcomments = check_VDIC_array[35];
lead_dial_number = document.vicidial_form.phone_number.value;
document.getElementById("MainStatuSSpan").innerHTML = " Entrant: " + document.vicidial_form.phone_number.value + " UID: " + CIDcheck + " &nbsp; " + VDIC_fronter;
@@ -3302,6 +3324,11 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
{
document.getElementById("CusTInfOSpaN").innerHTML = " <B> PREVIOUS APPELBACK </B>";
document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor;
document.getElementById("CBcommentsBoxA").innerHTML = "<b>Bout Call: </b>" + CBentry_time;
document.getElementById("CBcommentsBoxB").innerHTML = "<b>CallBack: </b>" + CBcallback_time;
document.getElementById("CBcommentsBoxC").innerHTML = "<b>Agent: </b>" + CBuser;
document.getElementById("CBcommentsBoxD").innerHTML = "<b>Commentaires: </b><br>" + CBcomments;
showDiv('CBcommentsBox');
}
if (VDIC_data_VDIG[1].length > 0)
@@ -4045,6 +4072,8 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
document.getElementById("DispoSelectMaxMin").innerHTML = "<a href=\"#\" onclick=\"DispoMinimize()\">réduisez au minimum</a>";
document.getElementById("DispoSelectHAspan").innerHTML = "<a href=\"#\" onclick=\"DispoHanguPAgaiN()\">Décrochement Encore</a>";
CBcommentsBoxhide();
AgentDispoing = 0;
if (wrapup_waiting == 0)
@@ -4553,6 +4582,22 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
}
// ################################################################################
// Hide the CBcommentsBox span upon click
function CBcommentsBoxhide()
{
CBentry_time = '';
CBcallback_time = '';
CBuser = '';
CBcomments = '';
document.getElementById("CBcommentsBoxA").innerHTML = "";
document.getElementById("CBcommentsBoxB").innerHTML = "";
document.getElementById("CBcommentsBoxC").innerHTML = "";
document.getElementById("CBcommentsBoxD").innerHTML = "";
hideDiv('CBcommentsBox');
}
// ################################################################################
// Populating the date field in the callback frame prior to submission
function CB_date_pick(taskdate)
@@ -4638,6 +4683,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
if (VICIDiaL_closer_login_checked==0)
{
hideDiv('NothingBox');
hideDiv('CBcommentsBox');
hideDiv('HotKeyActionBox');
hideDiv('HotKeyEntriesBox');
hideDiv('MainXfeRBox');
@@ -5237,7 +5283,7 @@ echo "</head>\n";
<span id="CBstatusSpan">X RAPPELS DE SERVICE ACTIFS</span> <BR>
</font></span>
<span style="position:absolute;left:0px;top:0px;z-index:35;" id="CallBacKsLisTBox">
<span style="position:absolute;left:0px;top:0px;z-index:36;" id="CallBacKsLisTBox">
<table border=1 bgcolor="#CCFFCC" width=650 height=460><TR><TD align=center VALIGN=top> RAPPELS DE SERVICE POUR L'AGENT <? echo $VD_login ?>:<BR>Cliquez sur un rappel de service ci-dessous pour appeler le dos de client maintenant. Si vous cliquez sur un disque ci-dessous pour l'appeler, il sera enlevé de la liste.
<BR>
<div class="scroll_callback" id="CallBacKsLisT"></div>
@@ -5248,7 +5294,7 @@ echo "</head>\n";
</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:36;" id="NeWManuaLDiaLBox">
<span style="position:absolute;left:0px;top:0px;z-index:37;" id="NeWManuaLDiaLBox">
<table border=1 bgcolor="#CCFFCC" width=650 height=460><TR><TD align=center VALIGN=top> NOUVEAU FIL MANUEL DE CADRAN POUR <? echo "$VD_login in campaign $VD_campaign" ?>:<BR><BR>Écrivez l'information ci-dessous pour le nouveau fil que vous souhaitez appeler.
<BR>
<?
@@ -5344,7 +5390,24 @@ Votre Statut: <span id="AgentStatutStatut"></span> <BR>Calls Dialing: <span id="
</TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:12px;z-index:24;" id="NoneInSessionBox">
<span style="position:absolute;left:5px;top:310px;z-index:24;" id="CBcommentsBox">
<table border=0 bgcolor="#FFFFCC" width=620 height=70>
<TR bgcolor="#FFFF66">
<TD align=left><font class="sh_text"> Previous Callback Information: </font></td>
<TD align=right><font class="sk_text"> <a href="#" onclick="CBcommentsBoxhide();return false;">close</a> </font></td>
</tr><tr>
<TD><font class="sk_text">
<span id="CBcommentsBoxA"></span><BR>
<span id="CBcommentsBoxB"></span><BR>
<span id="CBcommentsBoxC"></span><BR>
</font></TD>
<TD width=320><font class="sk_text">
<span id="CBcommentsBoxD"></span>
</font></TD>
</TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:12px;z-index:25;" id="NoneInSessionBox">
<table border=1 bgcolor="#CCFFFF" width=600 height=500><TR><TD align=center> Aucun n'est en votre session: <span id="NoneInSessionID"></span><BR>
<a href="#" onclick="NoneInSessionOK();return false;">Retournez</a>
<BR><BR>
@@ -5352,7 +5415,7 @@ Votre Statut: <span id="AgentStatutStatut"></span> <BR>Calls Dialing: <span id="
</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:25;" id="CustomerGoneBox">
<span style="position:absolute;left:0px;top:0px;z-index:26;" id="CustomerGoneBox">
<table border=1 bgcolor="#CCFFFF" width=650 height=500><TR><TD align=center> Le client a raccroché: <span id="CustomerGoneChanneL"></span><BR>
<a href="#" onclick="CustomerGoneOK();return false;">Retournez</a>
<BR><BR>
@@ -5361,7 +5424,7 @@ Votre Statut: <span id="AgentStatutStatut"></span> <BR>Calls Dialing: <span id="
</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:26;" id="WrapupBox">
<span style="position:absolute;left:0px;top:0px;z-index:27;" id="WrapupBox">
<table border=1 bgcolor="#CCFFCC" width=650 height=550><TR><TD align=center> Appel Wrapup : <span id="WrapupTimer"></span> secondes restantes dans le wrapup<BR><BR>
<span id="WrapupMessage"><?=$wrapup_message ?></span>
<BR><BR>
@@ -5370,23 +5433,23 @@ Votre Statut: <span id="AgentStatutStatut"></span> <BR>Calls Dialing: <span id="
</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:27;" id="LogouTBox">
<span style="position:absolute;left:0px;top:0px;z-index:28;" id="LogouTBox">
<table border=1 bgcolor="#FFFFFF" width=650 height=500><TR><TD align=center><BR><span id="LogouTBoxLink">DÉCONNEXION</span></TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:70px;z-index:28;" id="DispoButtonHideA">
<span style="position:absolute;left:0px;top:70px;z-index:29;" id="DispoButtonHideA">
<table border=0 bgcolor="#CCFFCC" width=165 height=22><TR><TD align=center VALIGN=top></TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:138px;z-index:29;" id="DispoButtonHideB">
<span style="position:absolute;left:0px;top:138px;z-index:30;" id="DispoButtonHideB">
<table border=0 bgcolor="#CCFFCC" width=165 height=250><TR><TD align=center VALIGN=top>&nbsp;</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:30;" id="DispoButtonHideC">
<span style="position:absolute;left:0px;top:0px;z-index:31;" id="DispoButtonHideC">
<table border=0 bgcolor="#CCFFCC" width=650 height=47><TR><TD align=center VALIGN=top>Tous les changements faits au client que l'information ci-dessous actuellement ne sera pas comitted, vous doivent changer l'information de client avant vous décrochement l'appel. </TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:31;" id="DispoSelectBox">
<span style="position:absolute;left:0px;top:0px;z-index:32;" id="DispoSelectBox">
<table border=1 bgcolor="#CCFFCC" width=650 height=460><TR><TD align=center VALIGN=top> APPEL DE DISPOSITION :<span id="DispoSelectPhonE"></span> &nbsp; &nbsp; &nbsp; <span id="DispoSelectHAspan"><a href="#" onclick="DispoHanguPAgaiN()">Décrochement Encore</a></span> &nbsp; &nbsp; &nbsp; <span id="DispoSelectMaxMin"><a href="#" onclick="DispoMinimize()">réduisez au minimum</a></span><BR>
<span id="DispoSelectContent"> Extrémité-de-appelez Le Choix De Disposition </span>
<input type=hidden name=DispoSelection><BR>
@@ -5400,7 +5463,7 @@ Votre Statut: <span id="AgentStatutStatut"></span> <BR>Calls Dialing: <span id="
</span>
<span style="position:absolute;left:0px;top:0px;z-index:32;" id="CallBackSelectBox">
<span style="position:absolute;left:0px;top:0px;z-index:33;" id="CallBackSelectBox">
<table border=1 bgcolor="#CCFFCC" width=650 height=460><TR><TD align=center VALIGN=top> Choisissez une date de rappel de service :<span id="CallBackDatE"></span><BR>
<input type=hidden name=CallBackDatESelectioN>
<input type=hidden name=CallBackTimESelectioN>
@@ -5443,7 +5506,7 @@ Votre Statut: <span id="AgentStatutStatut"></span> <BR>Calls Dialing: <span id="
</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:33;" id="CloserSelectBox">
<span style="position:absolute;left:0px;top:0px;z-index:34;" id="CloserSelectBox">
<table border=1 bgcolor="#CCFFCC" width=650 height=460><TR><TD align=center VALIGN=top> UN CHOIX DE GROUPE D'ARRIVÉE PLUS ÉTROIT <BR>
<span id="CloserSelectContent"> Un Choix De Groupe D'arrivée Plus étroit </span>
<input type=hidden name=CloserSelectList><BR>
@@ -5454,7 +5517,7 @@ Votre Statut: <span id="AgentStatutStatut"></span> <BR>Calls Dialing: <span id="
</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:34;" id="NothingBox">
<span style="position:absolute;left:0px;top:0px;z-index:35;" id="NothingBox">
<BUTTON Type=button name="inert_button"><img src="../agc/images/blank.gif"></BUTTON>
<span id="DiaLLeaDPrevieWHide">LaManche</span>
<span id="DiaLDiaLAltPhonEHide">LaManche</span>
+54 -2
View File
@@ -108,9 +108,11 @@
# 60623-1414 - Fixed variable filter for phone_code and fixed manual dial logic
# 60821-1600 - Added ability to omit the phone code on vicidial lead dialing
# 60821-1647 - Added ability to not delete sessions at logout
# 60906-1124 - Added lookup and sending of callback data for CALLBK calls
#
$version = '2.0.36';
$build = '60821-1647';
$version = '2.0.37';
$build = '60906-1124';
require("dbconnect.php");
@@ -498,6 +500,27 @@ if ($ACTION == 'manDiaLnextCaLL')
$called_count++;
##### if lead is a callback, grab the callback comments
$CBentry_time = '';
$CBcallback_time = '';
$CBuser = '';
$CBcomments = '';
if (ereg("CALLBK",$dispo))
{
$stmt="SELECT entry_time,callback_time,user,comments FROM vicidial_callbacks where lead_id='$lead_id' order by callback_id desc LIMIT 1;";
$rslt=mysql_query($stmt, $link);
if ($DB) {echo "$stmt\n";}
$cb_record_ct = mysql_num_rows($rslt);
if ($cb_record_ct > 0)
{
$row=mysql_fetch_row($rslt);
$CBentry_time = trim("$row[0]");
$CBcallback_time = trim("$row[1]");
$CBuser = trim("$row[2]");
$CBcomments = trim("$row[3]");
}
}
### flag the lead as called and change it's status to INCALL
$stmt = "UPDATE vicidial_list set status='INCALL', called_since_last_reset='Y', called_count='$called_count',user='$user' where lead_id='$lead_id';";
if ($DB) {echo "$stmt\n";}
@@ -582,6 +605,10 @@ if ($ACTION == 'manDiaLnextCaLL')
$LeaD_InfO .= $security . "\n";
$LeaD_InfO .= $comments . "\n";
$LeaD_InfO .= $called_count . "\n";
$LeaD_InfO .= $CBentry_time . "\n";
$LeaD_InfO .= $CBcallback_time . "\n";
$LeaD_InfO .= $CBuser . "\n";
$LeaD_InfO .= $CBcomments . "\n";
echo $LeaD_InfO;
@@ -1076,6 +1103,27 @@ if ($ACTION == 'VDADcheckINCOMING')
$called_count = trim("$row[30]");
}
##### if lead is a callback, grab the callback comments
$CBentry_time = '';
$CBcallback_time = '';
$CBuser = '';
$CBcomments = '';
if (ereg("CALLBK",$dispo))
{
$stmt="SELECT entry_time,callback_time,user,comments FROM vicidial_callbacks where lead_id='$lead_id' order by callback_id desc LIMIT 1;";
$rslt=mysql_query($stmt, $link);
if ($DB) {echo "$stmt\n";}
$cb_record_ct = mysql_num_rows($rslt);
if ($cb_record_ct > 0)
{
$row=mysql_fetch_row($rslt);
$CBentry_time = trim("$row[0]");
$CBcallback_time = trim("$row[1]");
$CBuser = trim("$row[2]");
$CBcomments = trim("$row[3]");
}
}
### update the lead status to INCALL
$stmt = "UPDATE vicidial_list set status='INCALL', user='$user' where lead_id='$lead_id';";
if ($DB) {echo "$stmt\n";}
@@ -1215,6 +1263,10 @@ if ($ACTION == 'VDADcheckINCOMING')
$LeaD_InfO .= $security . "\n";
$LeaD_InfO .= $comments . "\n";
$LeaD_InfO .= $called_count . "\n";
$LeaD_InfO .= $CBentry_time . "\n";
$LeaD_InfO .= $CBcallback_time . "\n";
$LeaD_InfO .= $CBuser . "\n";
$LeaD_InfO .= $CBcomments . "\n";
echo $LeaD_InfO;
+82 -19
View File
@@ -124,6 +124,8 @@
# 60821-1643 - Added no_delete_sessions option to not delete sessions
# 60822-0512 - Changed phone number fields to be maxlength of 12
# 60829-1531 - Made compatible with WeBRooTWritablE setting in dbconnect.php
# 60906-1152 - Added Previous CallBack info display span
# 60906-1715 - Allow for Local phone extension conferences
#
require("dbconnect.php");
@@ -169,8 +171,8 @@ if (isset($_GET["relogin"])) {$relogin=$_GET["relogin"];}
$forever_stop=0;
$version = '2.0.97';
$build = '60829-1531';
$version = '2.0.99';
$build = '60906-1715';
if ($force_logout)
{
@@ -1386,6 +1388,10 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
var no_delete_sessions = '<? echo $no_delete_sessions ?>';
var webform_session = '<? echo $webform_sessionname ?>';
var local_consult_xfers = '<? echo $local_consult_xfers ?>';
var CBentry_time = '';
var CBcallback_time = '';
var CBuser = '';
var CBcomments = '';
var DiaLControl_auto_HTML = "<IMG SRC=\"../agc/images/vdc_LB_pause_OFF.gif\" border=0 alt=\"Pausa\"><a href=\"#\" onclick=\"AutoDial_ReSume_PauSe('VDADready');\"><IMG SRC=\"../agc/images/vdc_LB_resume.gif\" border=0 alt=\"Riprendi\"></a>";
var DiaLControl_auto_HTML_ready = "<a href=\"#\" onclick=\"AutoDial_ReSume_PauSe('VDADpause');\"><IMG SRC=\"../agc/images/vdc_LB_pause.gif\" border=0 alt=\"Pausa\"></a><IMG SRC=\"../agc/images/vdc_LB_resume_OFF.gif\" border=0 alt=\"Riprendi\">";
var DiaLControl_auto_HTML_OFF = "<IMG SRC=\"../agc/images/vdc_LB_pause_OFF.gif\" border=0 alt=\"Pausa\"><IMG SRC=\"../agc/images/vdc_LB_resume_OFF.gif\" border=0 alt=\"Riprendi\">";
@@ -1550,7 +1556,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
}
}
if (taskFromConf == 'YES')
{basic_originate_call(manual_string,'NO','YES',dial_conf_exten);}
{basic_originate_call(manual_string,'NO','YES',dial_conf_exten,'NO',taskFromConf);}
else
{basic_originate_call(manual_string,'NO','NO');}
@@ -1559,7 +1565,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
// ################################################################################
// Send Originate command to manager to place a phone call
function basic_originate_call(tasknum,taskprefix,taskreverse,taskdialvalue,tasknowait)
function basic_originate_call(tasknum,taskprefix,taskreverse,taskdialvalue,tasknowait,taskconfxfer)
{
var xmlhttp=false;
/*@cc_on @*/
@@ -1628,7 +1634,10 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
}
var originatevalue = protodial + "/" + extendial;
}
var queryCID = "DVagcW" + epoch_sec + user_abb;
if (taskconfxfer == 'YES')
{var queryCID = "DCagcW" + epoch_sec + user_abb;}
else
{var queryCID = "DVagcW" + epoch_sec + user_abb;}
VMCoriginate_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=Originate&format=text&channel=" + originatevalue + "&queryCID=" + queryCID + "&exten=" + orig_prefix + "" + dialnum + "&ext_context=" + ext_context + "&ext_priority=1&outbound_cid=" + campaign_cid;
xmlhttp.open('POST', 'manager_send.php');
@@ -2543,7 +2552,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
{
XDuniqueid = MDlookResponse_array[0];
XDchannel = MDlookResponse_array[1];
if ( (XDchannel.match(regMDL)) && (asterisk_version != '1.0.8') && (asterisk_version != '1.0.9') )
if ( (XDchannel.match(regMDL)) && (asterisk_version != '1.0.8') && (asterisk_version != '1.0.9') && (MD_ring_secondS < 10) )
{
// bad grab of Local channel, try again
MD_ring_secondS++;
@@ -2731,6 +2740,10 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
document.vicidial_form.called_count.value = MDnextResponse_array[27];
previous_called_count = MDnextResponse_array[27];
previous_dispo = MDnextResponse_array[2];
CBentry_time = MDnextResponse_array[28];
CBcallback_time = MDnextResponse_array[29];
CBuser = MDnextResponse_array[30];
CBcomments = MDnextResponse_array[31];
lead_dial_number = document.vicidial_form.phone_number.value;
document.getElementById("MainStatuSSpan").innerHTML = " In Chiamata: " + document.vicidial_form.phone_number.value + " UID: " + MDnextCID + " &nbsp; " + man_status;
@@ -2796,6 +2809,11 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
{
document.getElementById("CusTInfOSpaN").innerHTML = " <B> PREVIOUS CHIAMATABACK </B>";
document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor;
document.getElementById("CBcommentsBoxA").innerHTML = "<b>Ultimo Call: </b>" + CBentry_time;
document.getElementById("CBcommentsBoxB").innerHTML = "<b>CallBack: </b>" + CBcallback_time;
document.getElementById("CBcommentsBoxC").innerHTML = "<b>Agent: </b>" + CBuser;
document.getElementById("CBcommentsBoxD").innerHTML = "<b>Note: </b><br>" + CBcomments;
showDiv('CBcommentsBox');
}
var regWFAvars = new RegExp("\\?","ig");
@@ -3294,6 +3312,10 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
check_VDIC_array[30] = check_VDIC_array[30].replace(REGcommentsNL, "\n");
document.vicidial_form.comments.value = check_VDIC_array[30];
document.vicidial_form.called_count.value = check_VDIC_array[31];
CBentry_time = check_VDIC_array[32];
CBcallback_time = check_VDIC_array[33];
CBuser = check_VDIC_array[34];
CBcomments = check_VDIC_array[35];
lead_dial_number = document.vicidial_form.phone_number.value;
document.getElementById("MainStatuSSpan").innerHTML = " In entrata: " + document.vicidial_form.phone_number.value + " UID: " + CIDcheck + " &nbsp; " + VDIC_fronter;
@@ -3302,6 +3324,11 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
{
document.getElementById("CusTInfOSpaN").innerHTML = " <B> PREVIOUS CHIAMATABACK </B>";
document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor;
document.getElementById("CBcommentsBoxA").innerHTML = "<b>Ultimo Call: </b>" + CBentry_time;
document.getElementById("CBcommentsBoxB").innerHTML = "<b>CallBack: </b>" + CBcallback_time;
document.getElementById("CBcommentsBoxC").innerHTML = "<b>Agent: </b>" + CBuser;
document.getElementById("CBcommentsBoxD").innerHTML = "<b>Note: </b><br>" + CBcomments;
showDiv('CBcommentsBox');
}
if (VDIC_data_VDIG[1].length > 0)
@@ -4045,6 +4072,8 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
document.getElementById("DispoSelectMaxMin").innerHTML = "<a href=\"#\" onclick=\"DispoMinimize()\">minimizza</a>";
document.getElementById("DispoSelectHAspan").innerHTML = "<a href=\"#\" onclick=\"DispoHanguPAgaiN()\">Attacca ancora</a>";
CBcommentsBoxhide();
AgentDispoing = 0;
if (wrapup_waiting == 0)
@@ -4553,6 +4582,22 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
}
// ################################################################################
// Hide the CBcommentsBox span upon click
function CBcommentsBoxhide()
{
CBentry_time = '';
CBcallback_time = '';
CBuser = '';
CBcomments = '';
document.getElementById("CBcommentsBoxA").innerHTML = "";
document.getElementById("CBcommentsBoxB").innerHTML = "";
document.getElementById("CBcommentsBoxC").innerHTML = "";
document.getElementById("CBcommentsBoxD").innerHTML = "";
hideDiv('CBcommentsBox');
}
// ################################################################################
// Populating the date field in the callback frame prior to submission
function CB_date_pick(taskdate)
@@ -4638,6 +4683,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
if (VICIDiaL_closer_login_checked==0)
{
hideDiv('NothingBox');
hideDiv('CBcommentsBox');
hideDiv('HotKeyActionBox');
hideDiv('HotKeyEntriesBox');
hideDiv('MainXfeRBox');
@@ -5237,7 +5283,7 @@ echo "</head>\n";
<span id="CBstatusSpan">X RICHIAMATE ATTIVE</span> <BR>
</font></span>
<span style="position:absolute;left:0px;top:0px;z-index:35;" id="CallBacKsLisTBox">
<span style="position:absolute;left:0px;top:0px;z-index:36;" id="CallBacKsLisTBox">
<table border=1 bgcolor="#CCFFCC" width=650 height=460><TR><TD align=center VALIGN=top> RICHIAMATE PER OPERATORE <? echo $VD_login ?>:<BR>Click su a callback below to call the customer back now. If you click su a record below to call it, it will be removed from the list.
<BR>
<div class="scroll_callback" id="CallBacKsLisT"></div>
@@ -5248,7 +5294,7 @@ echo "</head>\n";
</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:36;" id="NeWManuaLDiaLBox">
<span style="position:absolute;left:0px;top:0px;z-index:37;" id="NeWManuaLDiaLBox">
<table border=1 bgcolor="#CCFFCC" width=650 height=460><TR><TD align=center VALIGN=top> NUOVA CHIAMATA MANUALE PER IL CONTATTO <? echo "$VD_login in campaign $VD_campaign" ?>:<BR><BR>Inserisci le informazioni sotto per il nuovo contatto da chiamare.
<BR>
<?
@@ -5344,7 +5390,24 @@ Vostro Status: <span id="AgentStatusStatus"></span> <BR>Calls Dialing: <span id=
</TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:12px;z-index:24;" id="NoneInSessionBox">
<span style="position:absolute;left:5px;top:310px;z-index:24;" id="CBcommentsBox">
<table border=0 bgcolor="#FFFFCC" width=620 height=70>
<TR bgcolor="#FFFF66">
<TD align=left><font class="sh_text"> Previous Callback Information: </font></td>
<TD align=right><font class="sk_text"> <a href="#" onclick="CBcommentsBoxhide();return false;">close</a> </font></td>
</tr><tr>
<TD><font class="sk_text">
<span id="CBcommentsBoxA"></span><BR>
<span id="CBcommentsBoxB"></span><BR>
<span id="CBcommentsBoxC"></span><BR>
</font></TD>
<TD width=320><font class="sk_text">
<span id="CBcommentsBoxD"></span>
</font></TD>
</TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:12px;z-index:25;" id="NoneInSessionBox">
<table border=1 bgcolor="#CCFFFF" width=600 height=500><TR><TD align=center> Nessuno è nella vostra sessione: <span id="NoneInSessionID"></span><BR>
<a href="#" onclick="NoneInSessionOK();return false;">Torna Indietro</a>
<BR><BR>
@@ -5352,7 +5415,7 @@ Vostro Status: <span id="AgentStatusStatus"></span> <BR>Calls Dialing: <span id=
</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:25;" id="CustomerGoneBox">
<span style="position:absolute;left:0px;top:0px;z-index:26;" id="CustomerGoneBox">
<table border=1 bgcolor="#CCFFFF" width=650 height=500><TR><TD align=center> Il cliente ha attaccato: <span id="CustomerGoneChanneL"></span><BR>
<a href="#" onclick="CustomerGoneOK();return false;">Torna Indietro</a>
<BR><BR>
@@ -5361,7 +5424,7 @@ Vostro Status: <span id="AgentStatusStatus"></span> <BR>Calls Dialing: <span id=
</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:26;" id="WrapupBox">
<span style="position:absolute;left:0px;top:0px;z-index:27;" id="WrapupBox">
<table border=1 bgcolor="#CCFFCC" width=650 height=550><TR><TD align=center> Chiamata tempo di pausa: <span id="WrapupTimer"></span> secondi restanti prima di nuova chiamata<BR><BR>
<span id="WrapupMessage"><?=$wrapup_message ?></span>
<BR><BR>
@@ -5370,23 +5433,23 @@ Vostro Status: <span id="AgentStatusStatus"></span> <BR>Calls Dialing: <span id=
</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:27;" id="LogouTBox">
<span style="position:absolute;left:0px;top:0px;z-index:28;" id="LogouTBox">
<table border=1 bgcolor="#FFFFFF" width=650 height=500><TR><TD align=center><BR><span id="LogouTBoxLink">LOGOUT</span></TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:70px;z-index:28;" id="DispoButtonHideA">
<span style="position:absolute;left:0px;top:70px;z-index:29;" id="DispoButtonHideA">
<table border=0 bgcolor="#CCFFCC" width=165 height=22><TR><TD align=center VALIGN=top></TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:138px;z-index:29;" id="DispoButtonHideB">
<span style="position:absolute;left:0px;top:138px;z-index:30;" id="DispoButtonHideB">
<table border=0 bgcolor="#CCFFCC" width=165 height=250><TR><TD align=center VALIGN=top>&nbsp;</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:30;" id="DispoButtonHideC">
<span style="position:absolute;left:0px;top:0px;z-index:31;" id="DispoButtonHideC">
<table border=0 bgcolor="#CCFFCC" width=650 height=47><TR><TD align=center VALIGN=top>Tutti i cambiamenti fatti sulle informazioni del cliente sotto non saranno effettuate, cambiare le informazioni prima di attaccare. </TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:31;" id="DispoSelectBox">
<span style="position:absolute;left:0px;top:0px;z-index:32;" id="DispoSelectBox">
<table border=1 bgcolor="#CCFFCC" width=650 height=460><TR><TD align=center VALIGN=top> DISPOSIZIONE CHIAMATA :<span id="DispoSelectPhonE"></span> &nbsp; &nbsp; &nbsp; <span id="DispoSelectHAspan"><a href="#" onclick="DispoHanguPAgaiN()">Attacca ancora</a></span> &nbsp; &nbsp; &nbsp; <span id="DispoSelectMaxMin"><a href="#" onclick="DispoMinimize()">minimizza</a></span><BR>
<span id="DispoSelectContent"> Selezione di fine chiamata </span>
<input type=hidden name=DispoSelection><BR>
@@ -5400,7 +5463,7 @@ Vostro Status: <span id="AgentStatusStatus"></span> <BR>Calls Dialing: <span id=
</span>
<span style="position:absolute;left:0px;top:0px;z-index:32;" id="CallBackSelectBox">
<span style="position:absolute;left:0px;top:0px;z-index:33;" id="CallBackSelectBox">
<table border=1 bgcolor="#CCFFCC" width=650 height=460><TR><TD align=center VALIGN=top> Selezionate una richiamata :<span id="CallBackDatE"></span><BR>
<input type=hidden name=CallBackDatESelectioN>
<input type=hidden name=CallBackTimESelectioN>
@@ -5443,7 +5506,7 @@ Vostro Status: <span id="AgentStatusStatus"></span> <BR>Calls Dialing: <span id=
</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:33;" id="CloserSelectBox">
<span style="position:absolute;left:0px;top:0px;z-index:34;" id="CloserSelectBox">
<table border=1 bgcolor="#CCFFCC" width=650 height=460><TR><TD align=center VALIGN=top> SELEZIONE DI GRUPPO INBOUND PIÙ VICINO <BR>
<span id="CloserSelectContent"> Selezione di Gruppo Inbound più vicino </span>
<input type=hidden name=CloserSelectList><BR>
@@ -5454,7 +5517,7 @@ Vostro Status: <span id="AgentStatusStatus"></span> <BR>Calls Dialing: <span id=
</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:34;" id="NothingBox">
<span style="position:absolute;left:0px;top:0px;z-index:35;" id="NothingBox">
<BUTTON Type=button name="inert_button"><img src="../agc/images/blank.gif"></BUTTON>
<span id="DiaLLeaDPrevieWHide">Canale</span>
<span id="DiaLDiaLAltPhonEHide">Canale</span>
+54 -2
View File
@@ -108,9 +108,11 @@
# 60623-1414 - Fixed variable filter for phone_code and fixed manual dial logic
# 60821-1600 - Added ability to omit the phone code on vicidial lead dialing
# 60821-1647 - Added ability to not delete sessions at logout
# 60906-1124 - Added lookup and sending of callback data for CALLBK calls
#
$version = '2.0.36';
$build = '60821-1647';
$version = '2.0.37';
$build = '60906-1124';
require("dbconnect.php");
@@ -498,6 +500,27 @@ if ($ACTION == 'manDiaLnextCaLL')
$called_count++;
##### if lead is a callback, grab the callback comments
$CBentry_time = '';
$CBcallback_time = '';
$CBuser = '';
$CBcomments = '';
if (ereg("CALLBK",$dispo))
{
$stmt="SELECT entry_time,callback_time,user,comments FROM vicidial_callbacks where lead_id='$lead_id' order by callback_id desc LIMIT 1;";
$rslt=mysql_query($stmt, $link);
if ($DB) {echo "$stmt\n";}
$cb_record_ct = mysql_num_rows($rslt);
if ($cb_record_ct > 0)
{
$row=mysql_fetch_row($rslt);
$CBentry_time = trim("$row[0]");
$CBcallback_time = trim("$row[1]");
$CBuser = trim("$row[2]");
$CBcomments = trim("$row[3]");
}
}
### flag the lead as called and change it's status to INCALL
$stmt = "UPDATE vicidial_list set status='INCALL', called_since_last_reset='Y', called_count='$called_count',user='$user' where lead_id='$lead_id';";
if ($DB) {echo "$stmt\n";}
@@ -582,6 +605,10 @@ if ($ACTION == 'manDiaLnextCaLL')
$LeaD_InfO .= $security . "\n";
$LeaD_InfO .= $comments . "\n";
$LeaD_InfO .= $called_count . "\n";
$LeaD_InfO .= $CBentry_time . "\n";
$LeaD_InfO .= $CBcallback_time . "\n";
$LeaD_InfO .= $CBuser . "\n";
$LeaD_InfO .= $CBcomments . "\n";
echo $LeaD_InfO;
@@ -1076,6 +1103,27 @@ if ($ACTION == 'VDADcheckINCOMING')
$called_count = trim("$row[30]");
}
##### if lead is a callback, grab the callback comments
$CBentry_time = '';
$CBcallback_time = '';
$CBuser = '';
$CBcomments = '';
if (ereg("CALLBK",$dispo))
{
$stmt="SELECT entry_time,callback_time,user,comments FROM vicidial_callbacks where lead_id='$lead_id' order by callback_id desc LIMIT 1;";
$rslt=mysql_query($stmt, $link);
if ($DB) {echo "$stmt\n";}
$cb_record_ct = mysql_num_rows($rslt);
if ($cb_record_ct > 0)
{
$row=mysql_fetch_row($rslt);
$CBentry_time = trim("$row[0]");
$CBcallback_time = trim("$row[1]");
$CBuser = trim("$row[2]");
$CBcomments = trim("$row[3]");
}
}
### update the lead status to INCALL
$stmt = "UPDATE vicidial_list set status='INCALL', user='$user' where lead_id='$lead_id';";
if ($DB) {echo "$stmt\n";}
@@ -1215,6 +1263,10 @@ if ($ACTION == 'VDADcheckINCOMING')
$LeaD_InfO .= $security . "\n";
$LeaD_InfO .= $comments . "\n";
$LeaD_InfO .= $called_count . "\n";
$LeaD_InfO .= $CBentry_time . "\n";
$LeaD_InfO .= $CBcallback_time . "\n";
$LeaD_InfO .= $CBuser . "\n";
$LeaD_InfO .= $CBcomments . "\n";
echo $LeaD_InfO;
+82 -19
View File
@@ -124,6 +124,8 @@
# 60821-1643 - Added no_delete_sessions option to not delete sessions
# 60822-0512 - Changed phone number fields to be maxlength of 12
# 60829-1531 - Made compatible with WeBRooTWritablE setting in dbconnect.php
# 60906-1152 - Added Previous CallBack info display span
# 60906-1715 - Allow for Local phone extension conferences
#
require("dbconnect.php");
@@ -169,8 +171,8 @@ if (isset($_GET["relogin"])) {$relogin=$_GET["relogin"];}
$forever_stop=0;
$version = '2.0.97';
$build = '60829-1531';
$version = '2.0.99';
$build = '60906-1715';
if ($force_logout)
{
@@ -1386,6 +1388,10 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
var no_delete_sessions = '<? echo $no_delete_sessions ?>';
var webform_session = '<? echo $webform_sessionname ?>';
var local_consult_xfers = '<? echo $local_consult_xfers ?>';
var CBentry_time = '';
var CBcallback_time = '';
var CBuser = '';
var CBcomments = '';
var DiaLControl_auto_HTML = "<IMG SRC=\"../agc/images/vdc_LB_pause_OFF_pl.gif\" border=0 alt=\"Przerwa\"><a href=\"#\" onclick=\"AutoDial_ReSume_PauSe('VDADready');\"><IMG SRC=\"../agc/images/vdc_LB_resume_pl.gif\" border=0 alt=\"Ponów\"></a>";
var DiaLControl_auto_HTML_ready = "<a href=\"#\" onclick=\"AutoDial_ReSume_PauSe('VDADpause');\"><IMG SRC=\"../agc/images/vdc_LB_pause_pl.gif\" border=0 alt=\"Przerwa\"></a><IMG SRC=\"../agc/images/vdc_LB_resume_OFF_pl.gif\" border=0 alt=\"Ponów\">";
var DiaLControl_auto_HTML_OFF = "<IMG SRC=\"../agc/images/vdc_LB_pause_OFF_pl.gif\" border=0 alt=\"Przerwa\"><IMG SRC=\"../agc/images/vdc_LB_resume_OFF_pl.gif\" border=0 alt=\"Ponów\">";
@@ -1550,7 +1556,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
}
}
if (taskFromConf == 'YES')
{basic_originate_call(manual_string,'NO','YES',dial_conf_exten);}
{basic_originate_call(manual_string,'NO','YES',dial_conf_exten,'NO',taskFromConf);}
else
{basic_originate_call(manual_string,'NO','NO');}
@@ -1559,7 +1565,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
// ################################################################################
// Send Originate command to manager to place a phone call
function basic_originate_call(tasknum,taskprefix,taskreverse,taskdialvalue,tasknowait)
function basic_originate_call(tasknum,taskprefix,taskreverse,taskdialvalue,tasknowait,taskconfxfer)
{
var xmlhttp=false;
/*@cc_on @*/
@@ -1628,7 +1634,10 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
}
var originatevalue = protodial + "/" + extendial;
}
var queryCID = "DVagcW" + epoch_sec + user_abb;
if (taskconfxfer == 'YES')
{var queryCID = "DCagcW" + epoch_sec + user_abb;}
else
{var queryCID = "DVagcW" + epoch_sec + user_abb;}
VMCoriginate_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=Originate&format=text&channel=" + originatevalue + "&queryCID=" + queryCID + "&exten=" + orig_prefix + "" + dialnum + "&ext_context=" + ext_context + "&ext_priority=1&outbound_cid=" + campaign_cid;
xmlhttp.open('POST', 'manager_send.php');
@@ -2543,7 +2552,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
{
XDuniqueid = MDlookResponse_array[0];
XDchannel = MDlookResponse_array[1];
if ( (XDchannel.match(regMDL)) && (asterisk_version != '1.0.8') && (asterisk_version != '1.0.9') )
if ( (XDchannel.match(regMDL)) && (asterisk_version != '1.0.8') && (asterisk_version != '1.0.9') && (MD_ring_secondS < 10) )
{
// bad grab of Local channel, try again
MD_ring_secondS++;
@@ -2731,6 +2740,10 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
document.vicidial_form.called_count.value = MDnextResponse_array[27];
previous_called_count = MDnextResponse_array[27];
previous_dispo = MDnextResponse_array[2];
CBentry_time = MDnextResponse_array[28];
CBcallback_time = MDnextResponse_array[29];
CBuser = MDnextResponse_array[30];
CBcomments = MDnextResponse_array[31];
lead_dial_number = document.vicidial_form.phone_number.value;
document.getElementById("MainStatuSSpan").innerHTML = " Dzwoni: " + document.vicidial_form.phone_number.value + " UID: " + MDnextCID + " &nbsp; " + man_status;
@@ -2796,6 +2809,11 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
{
document.getElementById("CusTInfOSpaN").innerHTML = " <B> PREVIOUS RozmowaBACK </B>";
document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor;
document.getElementById("CBcommentsBoxA").innerHTML = "<b>Nazwisko Call: </b>" + CBentry_time;
document.getElementById("CBcommentsBoxB").innerHTML = "<b>CallBack: </b>" + CBcallback_time;
document.getElementById("CBcommentsBoxC").innerHTML = "<b>Agent: </b>" + CBuser;
document.getElementById("CBcommentsBoxD").innerHTML = "<b>Komentarz: </b><br>" + CBcomments;
showDiv('CBcommentsBox');
}
var regWFAvars = new RegExp("\\?","ig");
@@ -3294,6 +3312,10 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
check_VDIC_array[30] = check_VDIC_array[30].replace(REGcommentsNL, "\n");
document.vicidial_form.comments.value = check_VDIC_array[30];
document.vicidial_form.called_count.value = check_VDIC_array[31];
CBentry_time = check_VDIC_array[32];
CBcallback_time = check_VDIC_array[33];
CBuser = check_VDIC_array[34];
CBcomments = check_VDIC_array[35];
lead_dial_number = document.vicidial_form.phone_number.value;
document.getElementById("MainStatuSSpan").innerHTML = " Przychodząca: " + document.vicidial_form.phone_number.value + " UID: " + CIDcheck + " &nbsp; " + VDIC_fronter;
@@ -3302,6 +3324,11 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
{
document.getElementById("CusTInfOSpaN").innerHTML = " <B> PREVIOUS RozmowaBACK </B>";
document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor;
document.getElementById("CBcommentsBoxA").innerHTML = "<b>Nazwisko Call: </b>" + CBentry_time;
document.getElementById("CBcommentsBoxB").innerHTML = "<b>CallBack: </b>" + CBcallback_time;
document.getElementById("CBcommentsBoxC").innerHTML = "<b>Agent: </b>" + CBuser;
document.getElementById("CBcommentsBoxD").innerHTML = "<b>Komentarz: </b><br>" + CBcomments;
showDiv('CBcommentsBox');
}
if (VDIC_data_VDIG[1].length > 0)
@@ -4045,6 +4072,8 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
document.getElementById("DispoSelectMaxMin").innerHTML = "<a href=\"#\" onclick=\"DispoMinimize()\">minimalizuj</a>";
document.getElementById("DispoSelectHAspan").innerHTML = "<a href=\"#\" onclick=\"DispoHanguPAgaiN()\">Rozłącz się ponownie</a>";
CBcommentsBoxhide();
AgentDispoing = 0;
if (wrapup_waiting == 0)
@@ -4553,6 +4582,22 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
}
// ################################################################################
// Hide the CBcommentsBox span upon click
function CBcommentsBoxhide()
{
CBentry_time = '';
CBcallback_time = '';
CBuser = '';
CBcomments = '';
document.getElementById("CBcommentsBoxA").innerHTML = "";
document.getElementById("CBcommentsBoxB").innerHTML = "";
document.getElementById("CBcommentsBoxC").innerHTML = "";
document.getElementById("CBcommentsBoxD").innerHTML = "";
hideDiv('CBcommentsBox');
}
// ################################################################################
// Populating the date field in the callback frame prior to submission
function CB_date_pick(taskdate)
@@ -4638,6 +4683,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
if (VICIDiaL_closer_login_checked==0)
{
hideDiv('NothingBox');
hideDiv('CBcommentsBox');
hideDiv('HotKeyActionBox');
hideDiv('HotKeyEntriesBox');
hideDiv('MainXfeRBox');
@@ -5237,7 +5283,7 @@ echo "</head>\n";
<span id="CBstatusSpan">X AKTYWNE INNE TERMINY</span> <BR>
</font></span>
<span style="position:absolute;left:0px;top:0px;z-index:35;" id="CallBacKsLisTBox">
<span style="position:absolute;left:0px;top:0px;z-index:36;" id="CallBacKsLisTBox">
<table border=1 bgcolor="#CCFFCC" width=650 height=460><TR><TD align=center VALIGN=top> INNE TERMINY DLA AGENTA <? echo $VD_login ?>:<BR>Kliknij poniżej na Inne terminy żeby teraz zadzwonić do klienta. Jeżeli klikniesz na rekordzie by zadzwonić, rekord zostanie usunięty z listy.
<BR>
<div class="scroll_callback" id="CallBacKsLisT"></div>
@@ -5248,7 +5294,7 @@ echo "</head>\n";
</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:36;" id="NeWManuaLDiaLBox">
<span style="position:absolute;left:0px;top:0px;z-index:37;" id="NeWManuaLDiaLBox">
<table border=1 bgcolor="#CCFFCC" width=650 height=460><TR><TD align=center VALIGN=top> NOWE RĘCZNE WYBIERANIE NUMERU DLA <? echo "$VD_login in campaign $VD_campaign" ?>:<BR><BR>Wpisz poniżej informacje o kontakcie do którego chcesz wykonać połączenie.
<BR>
<?
@@ -5344,7 +5390,24 @@ Twój Status: <span id="AgentStatusStatus"></span> <BR>Calls Dialing: <span id="
</TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:12px;z-index:24;" id="NoneInSessionBox">
<span style="position:absolute;left:5px;top:310px;z-index:24;" id="CBcommentsBox">
<table border=0 bgcolor="#FFFFCC" width=620 height=70>
<TR bgcolor="#FFFF66">
<TD align=left><font class="sh_text"> Previous Callback Information: </font></td>
<TD align=right><font class="sk_text"> <a href="#" onclick="CBcommentsBoxhide();return false;">close</a> </font></td>
</tr><tr>
<TD><font class="sk_text">
<span id="CBcommentsBoxA"></span><BR>
<span id="CBcommentsBoxB"></span><BR>
<span id="CBcommentsBoxC"></span><BR>
</font></TD>
<TD width=320><font class="sk_text">
<span id="CBcommentsBoxD"></span>
</font></TD>
</TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:12px;z-index:25;" id="NoneInSessionBox">
<table border=1 bgcolor="#CCFFFF" width=600 height=500><TR><TD align=center> Nikt nie uczestniczy w Twojej sesji: <span id="NoneInSessionID"></span><BR>
<a href="#" onclick="NoneInSessionOK();return false;">Wróć</a>
<BR><BR>
@@ -5352,7 +5415,7 @@ Twój Status: <span id="AgentStatusStatus"></span> <BR>Calls Dialing: <span id="
</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:25;" id="CustomerGoneBox">
<span style="position:absolute;left:0px;top:0px;z-index:26;" id="CustomerGoneBox">
<table border=1 bgcolor="#CCFFFF" width=650 height=500><TR><TD align=center> Klient sie rozłączył: <span id="CustomerGoneChanneL"></span><BR>
<a href="#" onclick="CustomerGoneOK();return false;">Wróć</a>
<BR><BR>
@@ -5361,7 +5424,7 @@ Twój Status: <span id="AgentStatusStatus"></span> <BR>Calls Dialing: <span id="
</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:26;" id="WrapupBox">
<span style="position:absolute;left:0px;top:0px;z-index:27;" id="WrapupBox">
<table border=1 bgcolor="#CCFFCC" width=650 height=550><TR><TD align=center> Call Wrapup <span id="WrapupTimer"></span> sekundy remaining in wrapup<BR><BR>
<span id="WrapupMessage"><?=$wrapup_message ?></span>
<BR><BR>
@@ -5370,23 +5433,23 @@ Twój Status: <span id="AgentStatusStatus"></span> <BR>Calls Dialing: <span id="
</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:27;" id="LogouTBox">
<span style="position:absolute;left:0px;top:0px;z-index:28;" id="LogouTBox">
<table border=1 bgcolor="#FFFFFF" width=650 height=500><TR><TD align=center><BR><span id="LogouTBoxLink">WYLOGUJ</span></TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:70px;z-index:28;" id="DispoButtonHideA">
<span style="position:absolute;left:0px;top:70px;z-index:29;" id="DispoButtonHideA">
<table border=0 bgcolor="#CCFFCC" width=165 height=22><TR><TD align=center VALIGN=top></TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:138px;z-index:29;" id="DispoButtonHideB">
<span style="position:absolute;left:0px;top:138px;z-index:30;" id="DispoButtonHideB">
<table border=0 bgcolor="#CCFFCC" width=165 height=250><TR><TD align=center VALIGN=top>&nbsp;</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:30;" id="DispoButtonHideC">
<span style="position:absolute;left:0px;top:0px;z-index:31;" id="DispoButtonHideC">
<table border=0 bgcolor="#CCFFCC" width=650 height=47><TR><TD align=center VALIGN=top>Zmiany wprowadzone w informacjach o kliencie będą zapisane tylko podczas trwania połączenia. Nie po rozłączaniu!. </TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:31;" id="DispoSelectBox">
<span style="position:absolute;left:0px;top:0px;z-index:32;" id="DispoSelectBox">
<table border=1 bgcolor="#CCFFCC" width=650 height=460><TR><TD align=center VALIGN=top> REZULTAT ROZMOWY :<span id="DispoSelectPhonE"></span> &nbsp; &nbsp; &nbsp; <span id="DispoSelectHAspan"><a href="#" onclick="DispoHanguPAgaiN()">Rozłącz się ponownie</a></span> &nbsp; &nbsp; &nbsp; <span id="DispoSelectMaxMin"><a href="#" onclick="DispoMinimize()">minimalizuj</a></span><BR>
<span id="DispoSelectContent"> Koniec rozmowy, wybierz rezultat </span>
<input type=hidden name=DispoSelection><BR>
@@ -5400,7 +5463,7 @@ Twój Status: <span id="AgentStatusStatus"></span> <BR>Calls Dialing: <span id="
</span>
<span style="position:absolute;left:0px;top:0px;z-index:32;" id="CallBackSelectBox">
<span style="position:absolute;left:0px;top:0px;z-index:33;" id="CallBackSelectBox">
<table border=1 bgcolor="#CCFFCC" width=650 height=460><TR><TD align=center VALIGN=top> Wybierz datę oddzwonienia :<span id="CallBackDatE"></span><BR>
<input type=hidden name=CallBackDatESelectioN>
<input type=hidden name=CallBackTimESelectioN>
@@ -5443,7 +5506,7 @@ Twój Status: <span id="AgentStatusStatus"></span> <BR>Calls Dialing: <span id="
</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:33;" id="CloserSelectBox">
<span style="position:absolute;left:0px;top:0px;z-index:34;" id="CloserSelectBox">
<table border=1 bgcolor="#CCFFCC" width=650 height=460><TR><TD align=center VALIGN=top> SELEKCJA GRUPY ZAWNĘTRZNYCH FINALIZUJĄCYCH <BR>
<span id="CloserSelectContent"> Selekcja grupy zawnętrznych finalizujących </span>
<input type=hidden name=CloserSelectList><BR>
@@ -5454,7 +5517,7 @@ Twój Status: <span id="AgentStatusStatus"></span> <BR>Calls Dialing: <span id="
</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:34;" id="NothingBox">
<span style="position:absolute;left:0px;top:0px;z-index:35;" id="NothingBox">
<BUTTON Type=button name="inert_button"><img src="../agc/images/blank.gif"></BUTTON>
<span id="DiaLLeaDPrevieWHide">Kanał</span>
<span id="DiaLDiaLAltPhonEHide">Kanał</span>
+54 -2
View File
@@ -108,9 +108,11 @@
# 60623-1414 - Fixed variable filter for phone_code and fixed manual dial logic
# 60821-1600 - Added ability to omit the phone code on vicidial lead dialing
# 60821-1647 - Added ability to not delete sessions at logout
# 60906-1124 - Added lookup and sending of callback data for CALLBK calls
#
$version = '2.0.36';
$build = '60821-1647';
$version = '2.0.37';
$build = '60906-1124';
require("dbconnect.php");
@@ -498,6 +500,27 @@ if ($ACTION == 'manDiaLnextCaLL')
$called_count++;
##### if lead is a callback, grab the callback comments
$CBentry_time = '';
$CBcallback_time = '';
$CBuser = '';
$CBcomments = '';
if (ereg("CALLBK",$dispo))
{
$stmt="SELECT entry_time,callback_time,user,comments FROM vicidial_callbacks where lead_id='$lead_id' order by callback_id desc LIMIT 1;";
$rslt=mysql_query($stmt, $link);
if ($DB) {echo "$stmt\n";}
$cb_record_ct = mysql_num_rows($rslt);
if ($cb_record_ct > 0)
{
$row=mysql_fetch_row($rslt);
$CBentry_time = trim("$row[0]");
$CBcallback_time = trim("$row[1]");
$CBuser = trim("$row[2]");
$CBcomments = trim("$row[3]");
}
}
### flag the lead as called and change it's status to INCALL
$stmt = "UPDATE vicidial_list set status='INCALL', called_since_last_reset='Y', called_count='$called_count',user='$user' where lead_id='$lead_id';";
if ($DB) {echo "$stmt\n";}
@@ -582,6 +605,10 @@ if ($ACTION == 'manDiaLnextCaLL')
$LeaD_InfO .= $security . "\n";
$LeaD_InfO .= $comments . "\n";
$LeaD_InfO .= $called_count . "\n";
$LeaD_InfO .= $CBentry_time . "\n";
$LeaD_InfO .= $CBcallback_time . "\n";
$LeaD_InfO .= $CBuser . "\n";
$LeaD_InfO .= $CBcomments . "\n";
echo $LeaD_InfO;
@@ -1076,6 +1103,27 @@ if ($ACTION == 'VDADcheckINCOMING')
$called_count = trim("$row[30]");
}
##### if lead is a callback, grab the callback comments
$CBentry_time = '';
$CBcallback_time = '';
$CBuser = '';
$CBcomments = '';
if (ereg("CALLBK",$dispo))
{
$stmt="SELECT entry_time,callback_time,user,comments FROM vicidial_callbacks where lead_id='$lead_id' order by callback_id desc LIMIT 1;";
$rslt=mysql_query($stmt, $link);
if ($DB) {echo "$stmt\n";}
$cb_record_ct = mysql_num_rows($rslt);
if ($cb_record_ct > 0)
{
$row=mysql_fetch_row($rslt);
$CBentry_time = trim("$row[0]");
$CBcallback_time = trim("$row[1]");
$CBuser = trim("$row[2]");
$CBcomments = trim("$row[3]");
}
}
### update the lead status to INCALL
$stmt = "UPDATE vicidial_list set status='INCALL', user='$user' where lead_id='$lead_id';";
if ($DB) {echo "$stmt\n";}
@@ -1215,6 +1263,10 @@ if ($ACTION == 'VDADcheckINCOMING')
$LeaD_InfO .= $security . "\n";
$LeaD_InfO .= $comments . "\n";
$LeaD_InfO .= $called_count . "\n";
$LeaD_InfO .= $CBentry_time . "\n";
$LeaD_InfO .= $CBcallback_time . "\n";
$LeaD_InfO .= $CBuser . "\n";
$LeaD_InfO .= $CBcomments . "\n";
echo $LeaD_InfO;
+82 -19
View File
@@ -124,6 +124,8 @@
# 60821-1643 - Added no_delete_sessions option to not delete sessions
# 60822-0512 - Changed phone number fields to be maxlength of 12
# 60829-1531 - Made compatible with WeBRooTWritablE setting in dbconnect.php
# 60906-1152 - Added Previous CallBack info display span
# 60906-1715 - Allow for Local phone extension conferences
#
require("dbconnect.php");
@@ -169,8 +171,8 @@ if (isset($_GET["relogin"])) {$relogin=$_GET["relogin"];}
$forever_stop=0;
$version = '2.0.97';
$build = '60829-1531';
$version = '2.0.99';
$build = '60906-1715';
if ($force_logout)
{
@@ -1386,6 +1388,10 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
var no_delete_sessions = '<? echo $no_delete_sessions ?>';
var webform_session = '<? echo $webform_sessionname ?>';
var local_consult_xfers = '<? echo $local_consult_xfers ?>';
var CBentry_time = '';
var CBcallback_time = '';
var CBuser = '';
var CBcomments = '';
var DiaLControl_auto_HTML = "<IMG SRC=\"../agc/images/vdc_LB_pause_OFF.gif\" border=0 alt=\"Pausa\"><a href=\"#\" onclick=\"AutoDial_ReSume_PauSe('VDADready');\"><IMG SRC=\"../agc/images/vdc_LB_resume.gif\" border=0 alt=\"Resumo\"></a>";
var DiaLControl_auto_HTML_ready = "<a href=\"#\" onclick=\"AutoDial_ReSume_PauSe('VDADpause');\"><IMG SRC=\"../agc/images/vdc_LB_pause.gif\" border=0 alt=\"Pausa\"></a><IMG SRC=\"../agc/images/vdc_LB_resume_OFF.gif\" border=0 alt=\"Resumo\">";
var DiaLControl_auto_HTML_OFF = "<IMG SRC=\"../agc/images/vdc_LB_pause_OFF.gif\" border=0 alt=\"Pausa\"><IMG SRC=\"../agc/images/vdc_LB_resume_OFF.gif\" border=0 alt=\"Resumo\">";
@@ -1550,7 +1556,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
}
}
if (taskFromConf == 'YES')
{basic_originate_call(manual_string,'NO','YES',dial_conf_exten);}
{basic_originate_call(manual_string,'NO','YES',dial_conf_exten,'NO',taskFromConf);}
else
{basic_originate_call(manual_string,'NO','NO');}
@@ -1559,7 +1565,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
// ################################################################################
// Send Originate command to manager to place a phone call
function basic_originate_call(tasknum,taskprefix,taskreverse,taskdialvalue,tasknowait)
function basic_originate_call(tasknum,taskprefix,taskreverse,taskdialvalue,tasknowait,taskconfxfer)
{
var xmlhttp=false;
/*@cc_on @*/
@@ -1628,7 +1634,10 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
}
var originatevalue = protodial + "/" + extendial;
}
var queryCID = "DVagcW" + epoch_sec + user_abb;
if (taskconfxfer == 'YES')
{var queryCID = "DCagcW" + epoch_sec + user_abb;}
else
{var queryCID = "DVagcW" + epoch_sec + user_abb;}
VMCoriginate_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=Originate&format=text&channel=" + originatevalue + "&queryCID=" + queryCID + "&exten=" + orig_prefix + "" + dialnum + "&ext_context=" + ext_context + "&ext_priority=1&outbound_cid=" + campaign_cid;
xmlhttp.open('POST', 'manager_send.php');
@@ -2543,7 +2552,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
{
XDuniqueid = MDlookResponse_array[0];
XDchannel = MDlookResponse_array[1];
if ( (XDchannel.match(regMDL)) && (asterisk_version != '1.0.8') && (asterisk_version != '1.0.9') )
if ( (XDchannel.match(regMDL)) && (asterisk_version != '1.0.8') && (asterisk_version != '1.0.9') && (MD_ring_secondS < 10) )
{
// bad grab of Local channel, try again
MD_ring_secondS++;
@@ -2731,6 +2740,10 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
document.vicidial_form.called_count.value = MDnextResponse_array[27];
previous_called_count = MDnextResponse_array[27];
previous_dispo = MDnextResponse_array[2];
CBentry_time = MDnextResponse_array[28];
CBcallback_time = MDnextResponse_array[29];
CBuser = MDnextResponse_array[30];
CBcomments = MDnextResponse_array[31];
lead_dial_number = document.vicidial_form.phone_number.value;
document.getElementById("MainStatuSSpan").innerHTML = " Chamada: " + document.vicidial_form.phone_number.value + " UID: " + MDnextCID + " &nbsp; " + man_status;
@@ -2796,6 +2809,11 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
{
document.getElementById("CusTInfOSpaN").innerHTML = " <B> PREVIOUS CHAMADABACK </B>";
document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor;
document.getElementById("CBcommentsBoxA").innerHTML = "<b>Último Call: </b>" + CBentry_time;
document.getElementById("CBcommentsBoxB").innerHTML = "<b>CallBack: </b>" + CBcallback_time;
document.getElementById("CBcommentsBoxC").innerHTML = "<b>Agent: </b>" + CBuser;
document.getElementById("CBcommentsBoxD").innerHTML = "<b>Comentários: </b><br>" + CBcomments;
showDiv('CBcommentsBox');
}
var regWFAvars = new RegExp("\\?","ig");
@@ -3294,6 +3312,10 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
check_VDIC_array[30] = check_VDIC_array[30].replace(REGcommentsNL, "\n");
document.vicidial_form.comments.value = check_VDIC_array[30];
document.vicidial_form.called_count.value = check_VDIC_array[31];
CBentry_time = check_VDIC_array[32];
CBcallback_time = check_VDIC_array[33];
CBuser = check_VDIC_array[34];
CBcomments = check_VDIC_array[35];
lead_dial_number = document.vicidial_form.phone_number.value;
document.getElementById("MainStatuSSpan").innerHTML = " Entrante: " + document.vicidial_form.phone_number.value + " UID: " + CIDcheck + " &nbsp; " + VDIC_fronter;
@@ -3302,6 +3324,11 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
{
document.getElementById("CusTInfOSpaN").innerHTML = " <B> PREVIOUS CHAMADABACK </B>";
document.getElementById("CusTInfOSpaN").style.background = CusTCB_bgcolor;
document.getElementById("CBcommentsBoxA").innerHTML = "<b>Último Call: </b>" + CBentry_time;
document.getElementById("CBcommentsBoxB").innerHTML = "<b>CallBack: </b>" + CBcallback_time;
document.getElementById("CBcommentsBoxC").innerHTML = "<b>Agent: </b>" + CBuser;
document.getElementById("CBcommentsBoxD").innerHTML = "<b>Comentários: </b><br>" + CBcomments;
showDiv('CBcommentsBox');
}
if (VDIC_data_VDIG[1].length > 0)
@@ -4045,6 +4072,8 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
document.getElementById("DispoSelectMaxMin").innerHTML = "<a href=\"#\" onclick=\"DispoMinimize()\">minimize</a>";
document.getElementById("DispoSelectHAspan").innerHTML = "<a href=\"#\" onclick=\"DispoHanguPAgaiN()\">Hangup Outra vez</a>";
CBcommentsBoxhide();
AgentDispoing = 0;
if (wrapup_waiting == 0)
@@ -4553,6 +4582,22 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
}
// ################################################################################
// Hide the CBcommentsBox span upon click
function CBcommentsBoxhide()
{
CBentry_time = '';
CBcallback_time = '';
CBuser = '';
CBcomments = '';
document.getElementById("CBcommentsBoxA").innerHTML = "";
document.getElementById("CBcommentsBoxB").innerHTML = "";
document.getElementById("CBcommentsBoxC").innerHTML = "";
document.getElementById("CBcommentsBoxD").innerHTML = "";
hideDiv('CBcommentsBox');
}
// ################################################################################
// Populating the date field in the callback frame prior to submission
function CB_date_pick(taskdate)
@@ -4638,6 +4683,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
if (VICIDiaL_closer_login_checked==0)
{
hideDiv('NothingBox');
hideDiv('CBcommentsBox');
hideDiv('HotKeyActionBox');
hideDiv('HotKeyEntriesBox');
hideDiv('MainXfeRBox');
@@ -5237,7 +5283,7 @@ echo "</head>\n";
<span id="CBstatusSpan">X RECHAMADAS ATIVAS</span> <BR>
</font></span>
<span style="position:absolute;left:0px;top:0px;z-index:35;" id="CallBacKsLisTBox">
<span style="position:absolute;left:0px;top:0px;z-index:36;" id="CallBacKsLisTBox">
<table border=1 bgcolor="#CCFFCC" width=650 height=460><TR><TD align=center VALIGN=top> RECHAMADAS PARA O AGENTE <? echo $VD_login ?>:<BR>Estale sobre uma rechamada abaixo para chamar agora a parte traseira do cliente. Se você estalar sobre um registro abaixo para o chamar, estará removido da lista.
<BR>
<div class="scroll_callback" id="CallBacKsLisT"></div>
@@ -5248,7 +5294,7 @@ echo "</head>\n";
</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:36;" id="NeWManuaLDiaLBox">
<span style="position:absolute;left:0px;top:0px;z-index:37;" id="NeWManuaLDiaLBox">
<table border=1 bgcolor="#CCFFCC" width=650 height=460><TR><TD align=center VALIGN=top> LIGAÇÃO MANUAL NOVA DO SELETOR PARA <? echo "$VD_login in campaign $VD_campaign" ?>:<BR><BR>Incorpore a informação abaixo para a ligação que nova você deseja se chamar.
<BR>
<?
@@ -5344,7 +5390,24 @@ Seu Status: <span id="AgentStatusStatus"></span> <BR>Calls Dialing: <span id="Ag
</TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:12px;z-index:24;" id="NoneInSessionBox">
<span style="position:absolute;left:5px;top:310px;z-index:24;" id="CBcommentsBox">
<table border=0 bgcolor="#FFFFCC" width=620 height=70>
<TR bgcolor="#FFFF66">
<TD align=left><font class="sh_text"> Previous Callback Information: </font></td>
<TD align=right><font class="sk_text"> <a href="#" onclick="CBcommentsBoxhide();return false;">close</a> </font></td>
</tr><tr>
<TD><font class="sk_text">
<span id="CBcommentsBoxA"></span><BR>
<span id="CBcommentsBoxB"></span><BR>
<span id="CBcommentsBoxC"></span><BR>
</font></TD>
<TD width=320><font class="sk_text">
<span id="CBcommentsBoxD"></span>
</font></TD>
</TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:12px;z-index:25;" id="NoneInSessionBox">
<table border=1 bgcolor="#CCFFFF" width=600 height=500><TR><TD align=center> Noone está em sua sessão: <span id="NoneInSessionID"></span><BR>
<a href="#" onclick="NoneInSessionOK();return false;"> Para trás</a>
<BR><BR>
@@ -5352,7 +5415,7 @@ Seu Status: <span id="AgentStatusStatus"></span> <BR>Calls Dialing: <span id="Ag
</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:25;" id="CustomerGoneBox">
<span style="position:absolute;left:0px;top:0px;z-index:26;" id="CustomerGoneBox">
<table border=1 bgcolor="#CCFFFF" width=650 height=500><TR><TD align=center> O cliente pendurou acima: <span id="CustomerGoneChanneL"></span><BR>
<a href="#" onclick="CustomerGoneOK();return false;"> Para trás</a>
<BR><BR>
@@ -5361,7 +5424,7 @@ Seu Status: <span id="AgentStatusStatus"></span> <BR>Calls Dialing: <span id="Ag
</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:26;" id="WrapupBox">
<span style="position:absolute;left:0px;top:0px;z-index:27;" id="WrapupBox">
<table border=1 bgcolor="#CCFFCC" width=650 height=550><TR><TD align=center> Chamada Wrapup: <span id="WrapupTimer"></span> segundos restantes no wrapup<BR><BR>
<span id="WrapupMessage"><?=$wrapup_message ?></span>
<BR><BR>
@@ -5370,23 +5433,23 @@ Seu Status: <span id="AgentStatusStatus"></span> <BR>Calls Dialing: <span id="Ag
</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:27;" id="LogouTBox">
<span style="position:absolute;left:0px;top:0px;z-index:28;" id="LogouTBox">
<table border=1 bgcolor="#FFFFFF" width=650 height=500><TR><TD align=center><BR><span id="LogouTBoxLink">LOGOUT</span></TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:70px;z-index:28;" id="DispoButtonHideA">
<span style="position:absolute;left:0px;top:70px;z-index:29;" id="DispoButtonHideA">
<table border=0 bgcolor="#CCFFCC" width=165 height=22><TR><TD align=center VALIGN=top></TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:138px;z-index:29;" id="DispoButtonHideB">
<span style="position:absolute;left:0px;top:138px;z-index:30;" id="DispoButtonHideB">
<table border=0 bgcolor="#CCFFCC" width=165 height=250><TR><TD align=center VALIGN=top>&nbsp;</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:30;" id="DispoButtonHideC">
<span style="position:absolute;left:0px;top:0px;z-index:31;" id="DispoButtonHideC">
<table border=0 bgcolor="#CCFFCC" width=650 height=47><TR><TD align=center VALIGN=top>Todas as mudanças feitas ao cliente que a informação abaixo neste tempo não será comitted, você devem mudar a informação do cliente antes de você hangup a chamada. </TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:31;" id="DispoSelectBox">
<span style="position:absolute;left:0px;top:0px;z-index:32;" id="DispoSelectBox">
<table border=1 bgcolor="#CCFFCC" width=650 height=460><TR><TD align=center VALIGN=top> CHAMADA DA DISPOSIÇÃO :<span id="DispoSelectPhonE"></span> &nbsp; &nbsp; &nbsp; <span id="DispoSelectHAspan"><a href="#" onclick="DispoHanguPAgaiN()">Hangup Outra vez</a></span> &nbsp; &nbsp; &nbsp; <span id="DispoSelectMaxMin"><a href="#" onclick="DispoMinimize()">minimize</a></span><BR>
<span id="DispoSelectContent"> Extremidade-$$$-CHAME A Seleção Da Disposição </span>
<input type=hidden name=DispoSelection><BR>
@@ -5400,7 +5463,7 @@ Seu Status: <span id="AgentStatusStatus"></span> <BR>Calls Dialing: <span id="Ag
</span>
<span style="position:absolute;left:0px;top:0px;z-index:32;" id="CallBackSelectBox">
<span style="position:absolute;left:0px;top:0px;z-index:33;" id="CallBackSelectBox">
<table border=1 bgcolor="#CCFFCC" width=650 height=460><TR><TD align=center VALIGN=top> Selecione uma data da rechamada :<span id="CallBackDatE"></span><BR>
<input type=hidden name=CallBackDatESelectioN>
<input type=hidden name=CallBackTimESelectioN>
@@ -5443,7 +5506,7 @@ Seu Status: <span id="AgentStatusStatus"></span> <BR>Calls Dialing: <span id="Ag
</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:33;" id="CloserSelectBox">
<span style="position:absolute;left:0px;top:0px;z-index:34;" id="CloserSelectBox">
<table border=1 bgcolor="#CCFFCC" width=650 height=460><TR><TD align=center VALIGN=top> SELEÇÃO DE GRUPO INBOUND MAIS PRÓXIMA <BR>
<span id="CloserSelectContent"> Seleção De Grupo Inbound Mais próxima </span>
<input type=hidden name=CloserSelectList><BR>
@@ -5454,7 +5517,7 @@ Seu Status: <span id="AgentStatusStatus"></span> <BR>Calls Dialing: <span id="Ag
</TD></TR></TABLE>
</span>
<span style="position:absolute;left:0px;top:0px;z-index:34;" id="NothingBox">
<span style="position:absolute;left:0px;top:0px;z-index:35;" id="NothingBox">
<BUTTON Type=button name="inert_button"><img src="../agc/images/blank.gif"></BUTTON>
<span id="DiaLLeaDPrevieWHide">Canaleta</span>
<span id="DiaLDiaLAltPhonEHide">Canaleta</span>
@@ -434,7 +434,7 @@ $browser = getenv("HTTP_USER_AGENT");
header ("Content-type: text/html; charset=utf-8");
$NWB = " &nbsp; <a href=\"javascript:openNewWindow('$PHP_SELF?ADD=99999";
$NWE = "')\"><IMG SRC=\"help.gif\" WIDTH=20 HEIGHT=20 BORDER=0 ALT=\"HELP\" ALIGN=TOP></A>";
$NWE = "')\"><IMG SRC=\"../astguiclient/help.gif\" WIDTH=20 HEIGHT=20 BORDER=0 ALT=\"HELP\" ALIGN=TOP></A>";
######################
# ADD=99999 display the HELP SCREENS
######################
@@ -121,7 +121,7 @@ echo "</B></TD></TR>\n";
echo "<TR><TD ALIGN=LEFT COLSPAN=2>\n";
$stmt="SELECT count(*),channel_group, sum(length_in_sec) from call_log where extension='" . mysql_real_escape_string($extension) . "' and server_ip='" . mysql_real_escape_string($server_ip) . "' and start_time >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and start_time <= '" . mysql_real_escape_string($end_date) . " 23:59:59' group by channel_group order by channel_group";
$stmt="SELECT count(*),channel_group, sum(length_in_sec) from call_log where extension='$extension' and server_ip='$server_ip' and start_time >= '$begin_date 0:00:01' and start_time <= '$end_date 23:59:59' group by channel_group order by channel_group";
$rslt=mysql_query($stmt, $link);
$statuses_to_print = mysql_num_rows($rslt);
# echo "|$stmt|\n";
@@ -160,7 +160,7 @@ echo "<tr><td><font size=2>CHANNEL GROUP </td><td align=right><font size=2>COUNT
$o++;
}
$stmt="SELECT sum(length_in_sec) from call_log where extension='" . mysql_real_escape_string($extension) . "' and server_ip='" . mysql_real_escape_string($server_ip) . "' and start_time >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and start_time <= '" . mysql_real_escape_string($end_date) . " 23:59:59'";
$stmt="SELECT sum(length_in_sec) from call_log where extension='$extension' and server_ip='$server_ip' and start_time >= '$begin_date 0:00:01' and start_time <= '$end_date 23:59:59'";
$rslt=mysql_query($stmt, $link);
$counts_to_print = mysql_num_rows($rslt);
$row=mysql_fetch_row($rslt);
@@ -184,7 +184,7 @@ echo "<B>LAST 1000 CALLS FOR DATE RANGE:</B>\n";
echo "<TABLE width=400 cellspacing=0 cellpadding=1>\n";
echo "<tr><td><font size=2>NUMBER </td><td><font size=2>CHANNEL GROUP </td><td align=right><font size=2> DATE</td><td align=right><font size=2> LENGTH(MIN.)</td></tr>\n";
$stmt="SELECT number_dialed,channel_group,start_time,length_in_min from call_log where extension='" . mysql_real_escape_string($extension) . "' and server_ip='" . mysql_real_escape_string($server_ip) . "' and start_time >= '" . mysql_real_escape_string($begin_date) . " 0:00:01' and start_time <= '" . mysql_real_escape_string($end_date) . " 23:59:59' LIMIT 1000";
$stmt="SELECT number_dialed,channel_group,start_time,length_in_min from call_log where extension='$extension' and server_ip='$server_ip' and start_time >= '$begin_date 0:00:01' and start_time <= '$end_date 23:59:59' LIMIT 1000";
$rslt=mysql_query($stmt, $link);
$events_to_print = mysql_num_rows($rslt);
# echo "|$stmt|\n";
@@ -4,11 +4,6 @@
### Copyright (C) 2006 Matt Florell <vicidial@gmail.com> LICENSE: GPLv2
###
# the purpose of this script and webpage is to allow for remote or local users of the system to log in and grab phone calls that are coming inbound into the Asterisk server and being put in the parked_channels table while they hear a soundfile for a limited amount of time before being forwarded on to either a set extension or a voicemail box. This gives remote or local agents a way to grab calls without tying up their phone lines all day. The agent sees the refreshing screen of calls on park and when they want to take one they just click on it, and a small window opens that will allow them to grab the call and/or look up more information on the caller through the callerID that is given(if available)
#
# changes:
# 60620-1343 - Added variable filtering to eliminate SQL injection attack threat
# - Added required user/pass to gain access to this page
#
require("dbconnect.php");
@@ -18,8 +13,6 @@ $PHP_SELF=$_SERVER['PHP_SELF'];
$submit=$_GET["submit"]; if (!$submit) {$submit=$_POST["submit"];}
$SUBMIT=$_GET["SUBMIT"]; if (!$SUBMIT) {$SUBMIT=$_POST["SUBMIT"];}
$PHP_AUTH_USER = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_USER);
$PHP_AUTH_PW = ereg_replace("[^0-9a-zA-Z]","",$PHP_AUTH_PW);
$STARTtime = date("U");
$TODAY = date("Y-m-d");
@@ -7,6 +7,7 @@
#
# 60619-1714 - Added variable filtering to eliminate SQL injection attack threat
# - Added required user/pass to gain access to this page
# 60905-1326 - Added queue time stats
#
require("dbconnect.php");
@@ -117,7 +118,7 @@ $average_hold_seconds = round($average_hold_seconds, 0);
$average_hold_seconds = sprintf("%10s", $average_hold_seconds);
echo "Total Calls placed from this Campaign: $TOTALcalls\n";
echo "Average Call Length for all Calls in seconds: $average_hold_seconds\n";
echo "Average Call Length for all Calls: $average_hold_seconds seconds\n";
echo "\n";
echo "---------- DROPS\n";
@@ -136,7 +137,31 @@ $average_hold_seconds = round($average_hold_seconds, 0);
$average_hold_seconds = sprintf("%10s", $average_hold_seconds);
echo "Total DROP Calls: $DROPcalls $DROPpercent%\n";
echo "Average Length for DROP Calls in seconds: $average_hold_seconds\n";
echo "Average hold time for DROP Calls: $average_hold_seconds seconds\n";
echo "\n";
echo "---------- QUEUE STATS\n";
$stmt="select count(*),sum(queue_seconds) from vicidial_closer_log where call_date >= '$query_date 00:00:01' and call_date <= '$query_date 23:59:59' and campaign_id='" . mysql_real_escape_string($group) . "' and (queue_seconds > 0);";
$rslt=mysql_query($stmt, $link);
if ($DB) {echo "$stmt\n";}
$row=mysql_fetch_row($rslt);
$QUEUEcalls = sprintf("%10s", $row[0]);
$QUEUEpercent = (($QUEUEcalls / $TOTALcalls) * 100);
$QUEUEpercent = round($QUEUEpercent, 0);
$average_queue_seconds = ($row[1] / $row[0]);
$average_queue_seconds = round($average_queue_seconds, 2);
$average_queue_seconds = sprintf("%10.2f", $average_queue_seconds);
$average_total_queue_seconds = ($row[1] / $TOTALcalls);
$average_total_queue_seconds = round($average_total_queue_seconds, 2);
$average_total_queue_seconds = sprintf("%10.2f", $average_total_queue_seconds);
echo "Total Calls That entered Queue: $QUEUEcalls $QUEUEpercent%\n";
echo "Average QUEUE Length for queue calls: $average_queue_seconds seconds\n";
echo "Average QUEUE Length across all calls: $average_total_queue_seconds seconds\n";
##############################
@@ -114,7 +114,9 @@ $talking_to_print = mysql_num_rows($rslt);
$row[5]=' - WAITING - ';
$row[6]=$row[7];
}
$extension = sprintf("%-10s", $row[0]);
$extension = eregi_replace('Local/',"",$row[0]);
$extension = sprintf("%-10s", $extension);
while(strlen($extension)>10) {$extension = substr("$extension", 0, -1);}
$user = sprintf("%-6s", $row[1]);
$sessionid = sprintf("%-9s", $row[2]);
$channel = sprintf("%-10s", $row[3]);
@@ -132,7 +132,9 @@ $talking_to_print = mysql_num_rows($rslt);
$row[5]='- WAIT -';
$row[6]=$row[7];
}
$extension[$i] = sprintf("%-10s", $row[0]);
$extension[$i] = eregi_replace('Local/',"",$row[0]);
$extension[$i] = sprintf("%-10s", $extension[$i]);
while(strlen($extension[$i])>10) {$extension[$i] = substr("$extension[$i]", 0, -1);}
$user[$i] = sprintf("%-6s", $row[1]);
$sessionid[$i] = sprintf("%-9s", $row[2]);
$channel[$i] = sprintf("%-19s", $row[3]);
@@ -14,6 +14,8 @@
# 60619-1658 - Added variable filtering to eliminate SQL injection attack threat
# - Added required user/pass to gain access to this page
# 60626-1453 - Added display of system load to bottom (Angelito Manansala)
# 60901-1123 - Changed display elements at the top of the screen
# 60905-1342 - Fixed non INCALL|QUEUE timer column
#
header ("Content-type: text/html; charset=utf-8");
@@ -23,20 +25,22 @@ 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["server_ip"])) {$server_ip=$_GET["server_ip"];}
elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];}
if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];}
elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];}
if (isset($_GET["reset_counter"])) {$reset_counter=$_GET["reset_counter"];}
elseif (isset($_POST["reset_counter"])) {$reset_counter=$_POST["reset_counter"];}
if (isset($_GET["RR"])) {$RR=$_GET["RR"];}
if (isset($_GET["RR"])) {$RR=$_GET["RR"];}
elseif (isset($_POST["RR"])) {$RR=$_POST["RR"];}
if (isset($_GET["group"])) {$group=$_GET["group"];}
elseif (isset($_POST["group"])) {$group=$_POST["group"];}
if (isset($_GET["DB"])) {$DB=$_GET["DB"];}
if (isset($_GET["DB"])) {$DB=$_GET["DB"];}
elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];}
if (isset($_GET["adastats"])) {$adastats=$_GET["adastats"];}
elseif (isset($_POST["adastats"])) {$adastats=$_POST["adastats"];}
if (isset($_GET["submit"])) {$submit=$_GET["submit"];}
elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];}
elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];}
if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];}
elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];}
elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];}
if (!isset($group)) {$group='';}
@@ -156,12 +160,13 @@ if ($reset_counter > 7)
<?
echo "<META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=utf-8\">\n";
echo"<META HTTP-EQUIV=Refresh CONTENT=\"$RR; URL=$PHP_SELF?RR=$RR&DB=$DB&group=$group\">\n";
echo"<META HTTP-EQUIV=Refresh CONTENT=\"$RR; URL=$PHP_SELF?RR=$RR&DB=$DB&group=$group&adastats=$adastats\">\n";
echo "<TITLE>VICIDIAL: Time On VDAD Campaign: $group</TITLE></HEAD><BODY BGCOLOR=WHITE>\n";
echo "<FORM ACTION=\"$PHP_SELF\" METHOD=GET>\n";
echo "VICIDIAL: Realtime Campaign: \n";
echo "<INPUT TYPE=HIDDEN NAME=RR VALUE=4>\n";
echo "<INPUT TYPE=HIDDEN NAME=DB VALUE=\"$DB\">\n";
echo "<INPUT TYPE=HIDDEN NAME=adastats VALUE=\"$adastats\">\n";
echo "<SELECT SIZE=1 NAME=group>\n";
$o=0;
while ($groups_to_print > $o)
@@ -172,7 +177,7 @@ echo "<SELECT SIZE=1 NAME=group>\n";
}
echo "</SELECT>\n";
echo "<INPUT type=submit NAME=SUBMIT VALUE=SUBMIT><FONT FACE=\"ARIAL,HELVETICA\" COLOR=BLACK SIZE=2> &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>";
echo "<a href=\"$PHP_SELF?group=$group&RR=40&DB=$DB&adastats=$adastats\">STOP</a> | <a href=\"$PHP_SELF?group=$group&RR=4&DB=$DB&adastats=$adastats\">GO</a>";
echo " &nbsp; &nbsp; &nbsp; &nbsp; <a href=\"./admin.php?ADD=34&campaign_id=$group\">MODIFY</a> | <a href=\"./server_stats.php\">REPORTS</a> </FONT>\n";
echo "\n\n";
@@ -180,18 +185,27 @@ echo "\n\n";
if (!$group) {echo "<BR><BR>please select a campaign from the pulldown above</FORM>\n"; exit;}
else
{
$stmt="select auto_dial_level,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,lead_filter_id,hopper_level,dial_method from vicidial_campaigns where campaign_id='" . mysql_real_escape_string($group) . "';";
$stmt="select auto_dial_level,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,lead_filter_id,hopper_level,dial_method,adaptive_maximum_level,adaptive_dropped_percentage,adaptive_dl_diff_target,adaptive_intensity,available_only_ratio_tally,adaptive_latest_server_time,local_call_time,dial_timeout from vicidial_campaigns where campaign_id='" . mysql_real_escape_string($group) . "';";
$rslt=mysql_query($stmt, $link);
$row=mysql_fetch_row($rslt);
$HOPlev = $row[8];
$DIALmethod = $row[9];
echo "<BR><table cellpadding=0 cellspacing=0><TR>";
echo "<TD ALIGN=RIGHT><font size=2><B>DIAL LEVEL:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $row[0]&nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>STATUSES:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $row[1], $row[2], $row[3], $row[4], $row[5] &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>ORDER:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $row[6] &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>FILTER:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $row[7] &nbsp; &nbsp; </TD>";
echo "</TR>";
$DIALlev = $row[0];
$DIALstatusA = $row[1];
$DIALstatusB = $row[2];
$DIALstatusC = $row[3];
$DIALstatusD = $row[4];
$DIALstatusE = $row[5];
$DIALorder = $row[6];
$DIALfilter = $row[7];
$HOPlev = $row[8];
$DIALmethod = $row[9];
$maxDIALlev = $row[10];
$DROPmax = $row[11];
$targetDIFF = $row[12];
$ADAintense = $row[13];
$ADAavailonly = $row[14];
$TAPERtime = $row[15];
$CALLtime = $row[16];
$DIALtimeout = $row[17];
$stmt="select count(*) from vicidial_hopper where campaign_id='" . mysql_real_escape_string($group) . "';";
$rslt=mysql_query($stmt, $link);
@@ -214,26 +228,59 @@ if ( ($diffONEMIN != 0) and ($agentsONEMIN > 0) )
}
else {$diffpctONEMIN = '0.00';}
echo "<BR><table cellpadding=0 cellspacing=0><TR>";
echo "<TD ALIGN=RIGHT><font size=2><B>DIAL LEVEL:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $DIALlev&nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>FILTER:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $DIALfilter &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT COLSPAN=2><font size=2><B> TIME:</B> &nbsp; </TD>";
echo "<TD ALIGN=LEFT COLSPAN=2><font size=2> $NOW_TIME </TD>";
echo "</TR>";
if ($adastats>1)
{
echo "<TR BGCOLOR=\"#CCCCCC\">";
echo "<TD ALIGN=RIGHT><a href=\"$PHP_SELF?group=$group&RR=4&DB=$DB&adastats=1\"><font size=1>- min </font></a><font size=2>&nbsp; <B>MAX LEVEL:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $maxDIALlev &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>DROPPED MAX:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $DROPmax% &nbsp; &nbsp;</TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>TARGET DIFF:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $targetDIFF &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>INTENSITY:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $ADAintense &nbsp; &nbsp; </TD>";
echo "</TR>";
echo "<TR BGCOLOR=\"#CCCCCC\">";
echo "<TD ALIGN=RIGHT><font size=2><B>DIAL TIMEOUT:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $DIALtimeout &nbsp;</TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>TAPER TIME:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $TAPERtime &nbsp;</TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>LOCAL TIME:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $CALLtime &nbsp;</TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>AVAIL ONLY:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $ADAavailonly &nbsp;</TD>";
echo "</TR>";
}
echo "<TR>";
echo "<TD ALIGN=RIGHT><font size=2><B>DIALABLE LEADS:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $DAleads &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>CALLS TODAY:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $callsTODAY &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>AVG AGENTS:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $agentsONEMIN &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>DIAL METHOD:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $DIALmethod &nbsp; &nbsp; </TD>";
echo "</TR>";
echo "<TR>";
echo "<TD ALIGN=RIGHT><font size=2><B>HOPPER LEVEL:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $HOPlev &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>LEADS IN HOPPER:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $VDhop &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>DIALABLE LEADS:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $DAleads &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=CENTER COLSPAN=2><font size=2> &nbsp; <B> TIME:</B> </TD>";
echo "</TR>";
echo "<TR>";
echo "<TD ALIGN=RIGHT><font size=2><B>CALLS TODAY:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $callsTODAY &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>CALLS DROPPED:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $dropsTODAY &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>DROPPED PERCENT:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $drpctTODAY% &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=CENTER COLSPAN=2><font size=2> &nbsp; $NOW_TIME </TD>";
echo "</TR>";
echo "<TR>";
echo "<TD ALIGN=RIGHT><font size=2><B>DIAL METHOD:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $DIALmethod &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>DL DIFF:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $diffONEMIN &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>AVG AGENTS:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $agentsONEMIN &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>STATUSES:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $DIALstatusA, $DIALstatusB, $DIALstatusC, $DIALstatusD, $DIALstatusE &nbsp; &nbsp; </TD>";
echo "</TR>";
echo "<TR>";
echo "<TD ALIGN=RIGHT><font size=2><B>LEADS IN HOPPER:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $VDhop &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>DROPPED PERCENT:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $drpctTODAY% &nbsp; &nbsp;</TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>DIFF:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $diffpctONEMIN% &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>ORDER:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $DIALorder &nbsp; &nbsp; </TD>";
echo "</TR>";
echo "</TR></TABLE>";
if ($adastats<2)
{
echo "<TR>";
echo "<TD ALIGN=LEFT COLSPAN=8><a href=\"$PHP_SELF?group=$group&RR=4&DB=$DB&adastats=2\"><font size=1>+ VIEW MORE SETTINGS</font></a></TD>";
echo "</TR>";
}
echo "</TABLE>";
echo "</FORM>\n\n";
}
@@ -329,14 +376,19 @@ $talking_to_print = mysql_num_rows($rslt);
{
$row[5]=$row[6];
}
$extension = sprintf("%-10s", $row[0]);
$extension = eregi_replace('Local/',"",$row[0]);
$extension = sprintf("%-10s", $extension);
while(strlen($extension)>10) {$extension = substr("$extension", 0, -1);}
$user = sprintf("%-6s", $row[1]);
$sessionid = sprintf("%-9s", $row[2]);
$status = sprintf("%-6s", $row[3]);
$server_ip = sprintf("%-15s", $row[4]);
$call_server_ip = sprintf("%-15s", $row[7]);
$campaign_id = sprintf("%-10s", $row[8]);
$call_time_S = ($STARTtime - $row[5]);
if (!eregi("INCALL|QUEUE",$row[3]))
{$call_time_S = ($STARTtime - $row[6]);}
else
{$call_time_S = ($STARTtime - $row[5]);}
$call_time_M = ($call_time_S / 60);
$call_time_M = round($call_time_M, 2);
@@ -240,7 +240,9 @@ $talking_to_print = mysql_num_rows($rslt);
{
$row[5]=$row[6];
}
$extension = sprintf("%-10s", $row[0]);
$extension[$i] = eregi_replace('Local/',"",$row[0]);
$extension[$i] = sprintf("%-10s", $extension[$i]);
while(strlen($extension[$i])>10) {$extension[$i] = substr("$extension[$i]", 0, -1);}
$user = sprintf("%-6s", $row[1]);
$sessionid = sprintf("%-9s", $row[2]);
$status = sprintf("%-6s", $row[3]);
@@ -12,6 +12,7 @@
# 60616-1006 - added listID override and gmt_offset lookup while loading
# 60619-1652 - Added variable filtering to eliminate SQL injection attack threat
# 60822-1105 - fixed for nonwritable directories
# 60906-1059 - added filter of non-digits in alt_phone field
#
# make sure vicidial_list exists and that your file follows the formatting correctly. This page does not dedupe or do any other lead filtering actions yet at this time.
#
@@ -203,7 +204,7 @@ if ($leadfile and filesize($LF_path)<=8388608) {
$country = $row[16];
$gender = $row[17];
$date_of_birth = $row[18];
$alt_phone = $row[19];
$alt_phone = eregi_replace("[^0-9]", "", $row[19]);
$email = $row[20];
$security_phrase = $row[21];
$comments = trim($row[22]);
@@ -12,6 +12,7 @@
# 60811-1232 - Changed to DBI
# 60811-1329 - changed to use /etc/astguiclient.conf for configs
# 60822-1121 - fixed for nonwritable directories
# 60906-1058 - added filter of non-digits in alt_phone field
#
### begin parsing run-time options ###
@@ -205,6 +206,7 @@ foreach $oWkS (@{$oBook->{Worksheet}}) {
if ($oWkC) {$date_of_birth=$oWkC->Value; }
$oWkC = $oWkS->{Cells}[$iR][19];
if ($oWkC) {$alt_phone=$oWkC->Value; }
$alt_phone=~s/[^0-9]//g;
$oWkC = $oWkS->{Cells}[$iR][20];
if ($oWkC) {$email=$oWkC->Value; }
$oWkC = $oWkS->{Cells}[$iR][21];
@@ -11,6 +11,7 @@
# - Added gmt_offset_now lookup for each lead
# 60811-1232 - Changed to DBI
# 60811-1329 - changed to use /etc/astguiclient.conf for configs
# 60906-1056 - added filter of non-digits in alt_phone field
#
### begin parsing run-time options ###
@@ -205,6 +206,7 @@ foreach $oWkS (@{$oBook->{Worksheet}}) {
if ($oWkC) {$date_of_birth=$oWkC->Value; }
$oWkC = $oWkS->{Cells}[$iR][$xls_fields[19]];
if ($oWkC) {$alt_phone=$oWkC->Value; }
$alt_phone=~s/[^0-9]//g;
$oWkC = $oWkS->{Cells}[$iR][$xls_fields[20]];
if ($oWkC) {$email=$oWkC->Value; }
$oWkC = $oWkS->{Cells}[$iR][$xls_fields[21]];
@@ -14,11 +14,12 @@
# 60616-1604 - added gmt lookup for each lead
# 60619-1651 - Added variable filtering to eliminate SQL injection attack threat
# 60822-1121 - fixed for nonwritable directories
# 60906-1100 - added filter of non-digits in alt_phone field
#
# make sure vicidial_list exists and that your file follows the formatting correctly. This page does not dedupe or do any other lead filtering actions yet at this time.
$version = '2.0.1';
$build = '60822-1121';
$build = '60906-1100';
require("dbconnect.php");
@@ -370,7 +371,7 @@ function ParseFileName() {
$country_code = $row[$country_code_field];
$gender = $row[$gender_field];
$date_of_birth = $row[$date_of_birth_field];
$alt_phone = $row[$alt_phone_field];
$alt_phone = eregi_replace("[^0-9]", "", $row[$alt_phone_field]);
$email = $row[$email_field];
$security_phrase = $row[$security_phrase_field];
$comments = trim($row[$comments_field]);
@@ -479,7 +480,7 @@ function ParseFileName() {
$country_code = $row[$country_code_field];
$gender = $row[$gender_field];
$date_of_birth = $row[$date_of_birth_field];
$alt_phone = $row[$alt_phone_field];
$alt_phone = eregi_replace("[^0-9]", "", $row[$alt_phone_field]);
$email = $row[$email_field];
$security_phrase = $row[$security_phrase_field];
$comments = trim($row[$comments_field]);
@@ -607,7 +608,7 @@ if ($leadfile && filesize($LF_path)<=8388608) {
$country_code = $row[16];
$gender = $row[17];
$date_of_birth = $row[18];
$alt_phone = $row[19];
$alt_phone = eregi_replace("[^0-9]", "", $row[19]);
$email = $row[20];
$security_phrase = $row[21];
$comments = trim($row[22]);
@@ -732,7 +733,7 @@ if ($leadfile && filesize($LF_path)<=8388608) {
$country_code = $row[16];
$gender = $row[17];
$date_of_birth = $row[18];
$alt_phone = $row[19];
$alt_phone = eregi_replace("[^0-9]", "", $row[19]);
$email = $row[20];
$security_phrase = $row[21];
$comments = trim($row[22]);
@@ -7,6 +7,7 @@
#
# 60619-1714 - Added variable filtering to eliminate SQL injection attack threat
# - Added required user/pass to gain access to this page
# 60905-1326 - Added queue time stats
#
require("dbconnect.php");
@@ -117,7 +118,7 @@ $average_hold_seconds = round($average_hold_seconds, 0);
$average_hold_seconds = sprintf("%10s", $average_hold_seconds);
echo "Gesamtanrufe gesetzt von dieser Kampagne: $TOTALcalls\n";
echo "Durchschnittliche Anruf-Länge für alle benennt in den Sekunden: $average_hold_seconds\n";
echo "Average Call Length for all Calls: $average_hold_seconds seconds\n";
echo "\n";
echo "---------- DROPS\n";
@@ -136,7 +137,31 @@ $average_hold_seconds = round($average_hold_seconds, 0);
$average_hold_seconds = sprintf("%10s", $average_hold_seconds);
echo "Gesamt-TROPFEN Anrufe: $DROPcalls $DROPpercent%\n";
echo "Durchschnittliche Länge für TROPFEN Anrufe in den Sekunden: $average_hold_seconds\n";
echo "Average hold time for DROP Calls: $average_hold_seconds seconds\n";
echo "\n";
echo "---------- QUEUE STATS\n";
$stmt="select count(*),sum(queue_seconds) from vicidial_closer_log where call_date >= '$query_date 00:00:01' and call_date <= '$query_date 23:59:59' and campaign_id='" . mysql_real_escape_string($group) . "' and (queue_seconds > 0);";
$rslt=mysql_query($stmt, $link);
if ($DB) {echo "$stmt\n";}
$row=mysql_fetch_row($rslt);
$QUEUEcalls = sprintf("%10s", $row[0]);
$QUEUEpercent = (($QUEUEcalls / $TOTALcalls) * 100);
$QUEUEpercent = round($QUEUEpercent, 0);
$average_queue_seconds = ($row[1] / $row[0]);
$average_queue_seconds = round($average_queue_seconds, 2);
$average_queue_seconds = sprintf("%10.2f", $average_queue_seconds);
$average_total_queue_seconds = ($row[1] / $TOTALcalls);
$average_total_queue_seconds = round($average_total_queue_seconds, 2);
$average_total_queue_seconds = sprintf("%10.2f", $average_total_queue_seconds);
echo "Total Calls That entered Queue: $QUEUEcalls $QUEUEpercent%\n";
echo "Average QUEUE Length for queue calls: $average_queue_seconds seconds\n";
echo "Average QUEUE Length across all calls: $average_total_queue_seconds seconds\n";
##############################
@@ -114,7 +114,9 @@ $talking_to_print = mysql_num_rows($rslt);
$row[5]='- WARTEND -';
$row[6]=$row[7];
}
$extension = sprintf("%-10s", $row[0]);
$extension = eregi_replace('Local/',"",$row[0]);
$extension = sprintf("%-10s", $extension);
while(strlen($extension)>10) {$extension = substr("$extension", 0, -1);}
$user = sprintf("%-6s", $row[1]);
$sessionid = sprintf("%-9s", $row[2]);
$channel = sprintf("%-10s", $row[3]);
@@ -132,7 +132,9 @@ $talking_to_print = mysql_num_rows($rslt);
$row[5]='- WAIT -';
$row[6]=$row[7];
}
$extension[$i] = sprintf("%-10s", $row[0]);
$extension[$i] = eregi_replace('Local/',"",$row[0]);
$extension[$i] = sprintf("%-10s", $extension[$i]);
while(strlen($extension[$i])>10) {$extension[$i] = substr("$extension[$i]", 0, -1);}
$user[$i] = sprintf("%-6s", $row[1]);
$sessionid[$i] = sprintf("%-9s", $row[2]);
$channel[$i] = sprintf("%-19s", $row[3]);
@@ -14,6 +14,8 @@
# 60619-1658 - Added variable filtering to eliminate SQL injection attack threat
# - Added required user/pass to gain access to this page
# 60626-1453 - Added display of system load to bottom (Angelito Manansala)
# 60901-1123 - Changed display elements at the top of the screen
# 60905-1342 - Fixed non INCALL|QUEUE timer column
#
header ("Content-type: text/html; charset=utf-8");
@@ -23,20 +25,22 @@ 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["server_ip"])) {$server_ip=$_GET["server_ip"];}
elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];}
if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];}
elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];}
if (isset($_GET["reset_counter"])) {$reset_counter=$_GET["reset_counter"];}
elseif (isset($_POST["reset_counter"])) {$reset_counter=$_POST["reset_counter"];}
if (isset($_GET["RR"])) {$RR=$_GET["RR"];}
if (isset($_GET["RR"])) {$RR=$_GET["RR"];}
elseif (isset($_POST["RR"])) {$RR=$_POST["RR"];}
if (isset($_GET["group"])) {$group=$_GET["group"];}
elseif (isset($_POST["group"])) {$group=$_POST["group"];}
if (isset($_GET["DB"])) {$DB=$_GET["DB"];}
if (isset($_GET["DB"])) {$DB=$_GET["DB"];}
elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];}
if (isset($_GET["adastats"])) {$adastats=$_GET["adastats"];}
elseif (isset($_POST["adastats"])) {$adastats=$_POST["adastats"];}
if (isset($_GET["submit"])) {$submit=$_GET["submit"];}
elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];}
elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];}
if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];}
elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];}
elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];}
if (!isset($group)) {$group='';}
@@ -156,12 +160,13 @@ if ($reset_counter > 7)
<?
echo "<META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=utf-8\">\n";
echo"<META HTTP-EQUIV=Refresh CONTENT=\"$RR; URL=$PHP_SELF?RR=$RR&DB=$DB&group=$group\">\n";
echo"<META HTTP-EQUIV=Refresh CONTENT=\"$RR; URL=$PHP_SELF?RR=$RR&DB=$DB&group=$group&adastats=$adastats\">\n";
echo "<TITLE>VICIDIAL: Time On VDAD Kampagne: $group</TITLE></HEAD><BODY BGCOLOR=WHITE>\n";
echo "<FORM ACTION=\"$PHP_SELF\" METHOD=GET>\n";
echo "VICIDIAL: Realtime Kampagne: \n";
echo "<INPUT TYPE=HIDDEN NAME=RR VALUE=4>\n";
echo "<INPUT TYPE=HIDDEN NAME=DB VALUE=\"$DB\">\n";
echo "<INPUT TYPE=HIDDEN NAME=adastats VALUE=\"$adastats\">\n";
echo "<SELECT SIZE=1 NAME=group>\n";
$o=0;
while ($groups_to_print > $o)
@@ -172,7 +177,7 @@ echo "<SELECT SIZE=1 NAME=group>\n";
}
echo "</SELECT>\n";
echo "<INPUT type=submit NAME=SUBMIT VALUE=SUBMIT><FONT FACE=\"ARIAL,HELVETICA\" COLOR=BLACK SIZE=2> &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>";
echo "<a href=\"$PHP_SELF?group=$group&RR=40&DB=$DB&adastats=$adastats\">STOP</a> | <a href=\"$PHP_SELF?group=$group&RR=4&DB=$DB&adastats=$adastats\">GO</a>";
echo " &nbsp; &nbsp; &nbsp; &nbsp; <a href=\"./admin.php?ADD=34&campaign_id=$group\">ÄNDERN Sie</a> | <a href=\"./server_stats.php\">REPORTS</a> </FONT>\n";
echo "\n\n";
@@ -180,18 +185,27 @@ echo "\n\n";
if (!$group) {echo "<BR><BR>please select a campaign from the pulldown above</FORM>\n"; exit;}
else
{
$stmt="select auto_dial_level,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,lead_filter_id,hopper_level,dial_method from vicidial_campaigns where campaign_id='" . mysql_real_escape_string($group) . "';";
$stmt="select auto_dial_level,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,lead_filter_id,hopper_level,dial_method,adaptive_maximum_level,adaptive_dropped_percentage,adaptive_dl_diff_target,adaptive_intensity,available_only_ratio_tally,adaptive_latest_server_time,local_call_time,dial_timeout from vicidial_campaigns where campaign_id='" . mysql_real_escape_string($group) . "';";
$rslt=mysql_query($stmt, $link);
$row=mysql_fetch_row($rslt);
$HOPlev = $row[8];
$DIALmethod = $row[9];
echo "<BR><table cellpadding=0 cellspacing=0><TR>";
echo "<TD ALIGN=RIGHT><font size=2><B>DIAL LEVEL:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $row[0]&nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>STATUSES:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $row[1], $row[2], $row[3], $row[4], $row[5] &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>ORDER:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $row[6] &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>FILTER:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $row[7] &nbsp; &nbsp; </TD>";
echo "</TR>";
$DIALlev = $row[0];
$DIALstatusA = $row[1];
$DIALstatusB = $row[2];
$DIALstatusC = $row[3];
$DIALstatusD = $row[4];
$DIALstatusE = $row[5];
$DIALorder = $row[6];
$DIALfilter = $row[7];
$HOPlev = $row[8];
$DIALmethod = $row[9];
$maxDIALlev = $row[10];
$DROPmax = $row[11];
$targetDIFF = $row[12];
$ADAintense = $row[13];
$ADAavailonly = $row[14];
$TAPERtime = $row[15];
$CALLtime = $row[16];
$DIALtimeout = $row[17];
$stmt="select count(*) from vicidial_hopper where campaign_id='" . mysql_real_escape_string($group) . "';";
$rslt=mysql_query($stmt, $link);
@@ -214,26 +228,59 @@ if ( ($diffONEMIN != 0) and ($agentsONEMIN > 0) )
}
else {$diffpctONEMIN = '0.00';}
echo "<BR><table cellpadding=0 cellspacing=0><TR>";
echo "<TD ALIGN=RIGHT><font size=2><B>DIAL LEVEL:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $DIALlev&nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>FILTER:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $DIALfilter &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT COLSPAN=2><font size=2><B> TIME:</B> &nbsp; </TD>";
echo "<TD ALIGN=LEFT COLSPAN=2><font size=2> $NOW_TIME </TD>";
echo "</TR>";
if ($adastats>1)
{
echo "<TR BGCOLOR=\"#CCCCCC\">";
echo "<TD ALIGN=RIGHT><a href=\"$PHP_SELF?group=$group&RR=4&DB=$DB&adastats=1\"><font size=1>- min </font></a><font size=2>&nbsp; <B>MAX LEVEL:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $maxDIALlev &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>DROPPED MAX:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $DROPmax% &nbsp; &nbsp;</TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>TARGET DIFF:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $targetDIFF &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>INTENSITY:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $ADAintense &nbsp; &nbsp; </TD>";
echo "</TR>";
echo "<TR BGCOLOR=\"#CCCCCC\">";
echo "<TD ALIGN=RIGHT><font size=2><B>DIAL TIMEOUT:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $DIALtimeout &nbsp;</TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>TAPER TIME:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $TAPERtime &nbsp;</TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>LOCAL TIME:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $CALLtime &nbsp;</TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>AVAIL ONLY:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $ADAavailonly &nbsp;</TD>";
echo "</TR>";
}
echo "<TR>";
echo "<TD ALIGN=RIGHT><font size=2><B>DIALABLE LEADS:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $DAleads &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>CALLS TODAY:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $callsTODAY &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>AVG AGENTS:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $agentsONEMIN &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>DIAL METHOD:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $DIALmethod &nbsp; &nbsp; </TD>";
echo "</TR>";
echo "<TR>";
echo "<TD ALIGN=RIGHT><font size=2><B>HOPPER LEVEL:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $HOPlev &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>LEADS IN HOPPER:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $VDhop &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>DIALABLE LEADS:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $DAleads &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=CENTER COLSPAN=2><font size=2> &nbsp; <B> TIME:</B> </TD>";
echo "</TR>";
echo "<TR>";
echo "<TD ALIGN=RIGHT><font size=2><B>CALLS TODAY:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $callsTODAY &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>CALLS DROPPED:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $dropsTODAY &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>DROPPED PERCENT:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $drpctTODAY% &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=CENTER COLSPAN=2><font size=2> &nbsp; $NOW_TIME </TD>";
echo "</TR>";
echo "<TR>";
echo "<TD ALIGN=RIGHT><font size=2><B>DIAL METHOD:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $DIALmethod &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>DL DIFF:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $diffONEMIN &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>AVG AGENTS:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $agentsONEMIN &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>STATUSES:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $DIALstatusA, $DIALstatusB, $DIALstatusC, $DIALstatusD, $DIALstatusE &nbsp; &nbsp; </TD>";
echo "</TR>";
echo "<TR>";
echo "<TD ALIGN=RIGHT><font size=2><B>LEADS IN HOPPER:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $VDhop &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>DROPPED PERCENT:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $drpctTODAY% &nbsp; &nbsp;</TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>DIFF:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $diffpctONEMIN% &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>ORDER:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $DIALorder &nbsp; &nbsp; </TD>";
echo "</TR>";
echo "</TR></TABLE>";
if ($adastats<2)
{
echo "<TR>";
echo "<TD ALIGN=LEFT COLSPAN=8><a href=\"$PHP_SELF?group=$group&RR=4&DB=$DB&adastats=2\"><font size=1>+ VIEW MORE SETTINGS</font></a></TD>";
echo "</TR>";
}
echo "</TABLE>";
echo "</FORM>\n\n";
}
@@ -329,14 +376,19 @@ $talking_to_print = mysql_num_rows($rslt);
{
$row[5]=$row[6];
}
$extension = sprintf("%-10s", $row[0]);
$extension = eregi_replace('Local/',"",$row[0]);
$extension = sprintf("%-10s", $extension);
while(strlen($extension)>10) {$extension = substr("$extension", 0, -1);}
$user = sprintf("%-6s", $row[1]);
$sessionid = sprintf("%-9s", $row[2]);
$status = sprintf("%-6s", $row[3]);
$server_ip = sprintf("%-15s", $row[4]);
$call_server_ip = sprintf("%-15s", $row[7]);
$campaign_id = sprintf("%-10s", $row[8]);
$call_time_S = ($STARTtime - $row[5]);
if (!eregi("INCALL|QUEUE",$row[3]))
{$call_time_S = ($STARTtime - $row[6]);}
else
{$call_time_S = ($STARTtime - $row[5]);}
$call_time_M = ($call_time_S / 60);
$call_time_M = round($call_time_M, 2);
@@ -16,6 +16,8 @@
# - Added extended pause (exceeding 60 seconds -> 20 minutes) (Magma Networks LLC)
# - Added Full Name Field to extract from Database (Magma Networks LLC)
# - Added Barge Link (Magma Networks LLC)
# 60731-1138 - fixed fullname formatting
header ("Content-type: text/html; charset=utf-8");
require("dbconnect.php");
@@ -104,9 +106,9 @@ if ($reset_counter > 7)
<?
echo "<META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=utf-8\">\n";
echo"<META HTTP-EQUIV=Refresh CONTENT=\"$RR; URL=$PHP_SELF?RR=$RR&DB=$DB&group=$group\">\n";
echo "<TITLE>VF DIALER: Time On VDAD Kampagne: $group</TITLE></HEAD><BODY BGCOLOR=WHITE>\n";
echo "<TITLE>VICIDIAL: Time On VDAD Kampagne: $group</TITLE></HEAD><BODY BGCOLOR=WHITE>\n";
echo "<FORM ACTION=\"$PHP_SELF\" METHOD=GET>\n";
echo "VF DIALER: Realtime Kampagne: \n";
echo "VICIDIAL: Realtime Kampagne: \n";
echo "<INPUT TYPE=HIDDEN NAME=RR VALUE=4>\n";
echo "<INPUT TYPE=HIDDEN NAME=DB VALUE=\"$DB\">\n";
echo "<SELECT SIZE=1 NAME=group>\n";
@@ -238,7 +240,9 @@ $talking_to_print = mysql_num_rows($rslt);
{
$row[5]=$row[6];
}
$extension = sprintf("%-10s", $row[0]);
$extension[$i] = eregi_replace('Local/',"",$row[0]);
$extension[$i] = sprintf("%-10s", $extension[$i]);
while(strlen($extension[$i])>10) {$extension[$i] = substr("$extension[$i]", 0, -1);}
$user = sprintf("%-6s", $row[1]);
$sessionid = sprintf("%-9s", $row[2]);
$status = sprintf("%-6s", $row[3]);
@@ -319,8 +323,3 @@ $talking_to_print = mysql_num_rows($rslt);
</PRE>
</BODY></HTML>
@@ -11,12 +11,14 @@
# 60421-1043 - check GET/POST vars lines with isset to not trigger PHP NOTICES
# 60616-1006 - added listID override and gmt_offset lookup while loading
# 60619-1652 - Added variable filtering to eliminate SQL injection attack threat
# 60822-1105 - fixed for nonwritable directories
# 60906-1059 - added filter of non-digits in alt_phone field
#
# make sure vicidial_list exists and that your file follows the formatting correctly. This page does not dedupe or do any other lead filtering actions yet at this time.
#
$version = '1.1.12';
$build = '60619-1652';
$version = '2.0.1';
$build = '60822-1105';
header ("Content-type: text/html; charset=utf-8");
@@ -142,8 +144,16 @@ function ShowProgress(good, bad, total) {
if ($leadfile and filesize($LF_path)<=8388608) {
print "<script language='JavaScript1.2'>document.forms[0].leadfile.disabled=true; document.forms[0].submit_file.disabled=true; document.forms[0].reload_page.disabled=true;</script>";
flush();
copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.txt");
$file=fopen("$WeBServeRRooT/vicidial/vicidial_temp_file.txt", "r");
if ($WeBRooTWritablE > 0)
{
copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.txt");
$lead_file = "./vicidial_temp_file.txt";
}
else
{
$lead_file = "$LF_path";
}
$file=fopen("$lead_file", "r");
if ($WeBRooTWritablE > 0)
{$stmt_file=fopen("$WeBServeRRooT/vicidial/listloader_stmts.txt", "w");}
$pulldate=date("Y-m-d H:i:s");
@@ -157,7 +167,7 @@ if ($leadfile and filesize($LF_path)<=8388608) {
if (count($field_check)>=5) {
flush();
$file=fopen("./vicidial_temp_file.txt", "r");
$file=fopen("$lead_file", "r");
$total=0; $good=0; $bad=0;
print "<center><font face='arial, helvetica' size=3 color='#009900'><B>Verarbeitung$delim_name-delimited file... ($tab_count|$pipe_count)\n";
@@ -194,12 +204,12 @@ if ($leadfile and filesize($LF_path)<=8388608) {
$country = $row[16];
$gender = $row[17];
$date_of_birth = $row[18];
$alt_phone = $row[19];
$alt_phone = eregi_replace("[^0-9]", "", $row[19]);
$email = $row[20];
$security_phrase = $row[21];
$comments = trim($row[22]);
if (strlen($phone_number)>8)
if (strlen($phone_number)>6)
{
$entry_date = "$pulldate";
$modify_date = "";
@@ -13,11 +13,13 @@
# 60616-1240 - added listID override
# 60616-1604 - added gmt lookup for each lead
# 60619-1651 - Added variable filtering to eliminate SQL injection attack threat
# 60822-1121 - fixed for nonwritable directories
# 60906-1100 - added filter of non-digits in alt_phone field
#
# make sure vicidial_list exists and that your file follows the formatting correctly. This page does not dedupe or do any other lead filtering actions yet at this time.
$version = '1.1.12-1';
$build = '60619-1651';
$version = '2.0.1';
$build = '60906-1100';
require("dbconnect.php");
@@ -94,6 +96,8 @@ if (isset($_GET["comments_field"])) {$comments_field=$_GET["comments_field"];
if (isset($_GET["list_id_override"])) {$list_id_override=$_GET["list_id_override"];}
elseif (isset($_POST["list_id_override"])) {$list_id_override=$_POST["list_id_override"];}
$list_id_override = (preg_replace("/\D/","",$list_id_override));
if (isset($_GET["lead_file"])) {$lead_file=$_GET["lead_file"];}
elseif (isset($_POST["lead_file"])) {$lead_file=$_POST["lead_file"];}
# $country_field=$_GET["country_field"]; if (!$country_field) {$country_field=$_POST["country_field"];}
@@ -114,7 +118,7 @@ $rslt=mysql_query($stmt, $link);
$row=mysql_fetch_row($rslt);
$auth=$row[0];
$fp = fopen ("./project_auth_entries.txt", "a");
if ($WeBRooTWritablE > 0) {$fp = fopen ("./project_auth_entries.txt", "a");}
$date = date("r");
$ip = getenv("REMOTE_ADDR");
$browser = getenv("HTTP_USER_AGENT");
@@ -143,13 +147,19 @@ $browser = getenv("HTTP_USER_AGENT");
echo "You do not have permissions to load leads\n";
exit;
}
fwrite ($fp, "LIST_LOAD|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n");
fclose($fp);
if ($WeBRooTWritablE > 0)
{
fwrite ($fp, "LIST_LOAD|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n");
fclose($fp);
}
}
else
{
fwrite ($fp, "LIST_LOAD|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n");
fclose($fp);
if ($WeBRooTWritablE > 0)
{
fwrite ($fp, "LIST_LOAD|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n");
fclose($fp);
}
}
}
@@ -303,9 +313,11 @@ function ParseFileName() {
if (!eregi(".csv", $leadfile_name) && !eregi(".xls", $leadfile_name)) {
# copy($leadfile, "./vicidial_temp_file.txt");
$file=fopen("$WeBServeRRooT/vicidial/vicidial_temp_file.txt", "r");
$stmt_file=fopen("listloader_stmts.txt", "w");
$file=fopen("$lead_file", "r");
if ($WeBRooTWritablE > 0)
{
$stmt_file=fopen("listloader_stmts.txt", "w");
}
$buffer=fgets($file, 4096);
$tab_count=substr_count($buffer, "\t");
$pipe_count=substr_count($buffer, "|");
@@ -315,7 +327,7 @@ function ParseFileName() {
if (count($field_check)>=5) {
flush();
$file=fopen("$WeBServeRRooT/vicidial/vicidial_temp_file.txt", "r");
$file=fopen("$lead_file", "r");
print "<center><font face='arial, helvetica' size=3 color='#009900'><B>Verarbeitung$delim_name-delimited file...\n";
if (strlen($list_id_override)>0)
@@ -359,12 +371,12 @@ function ParseFileName() {
$country_code = $row[$country_code_field];
$gender = $row[$gender_field];
$date_of_birth = $row[$date_of_birth_field];
$alt_phone = $row[$alt_phone_field];
$alt_phone = eregi_replace("[^0-9]", "", $row[$alt_phone_field]);
$email = $row[$email_field];
$security_phrase = $row[$security_phrase_field];
$comments = trim($row[$comments_field]);
if (strlen($phone_number)>8) {
if (strlen($phone_number)>6) {
if (strlen($list_id_override)>0)
@@ -416,19 +428,21 @@ function ParseFileName() {
}
} else if (!eregi(".csv", $leadfile_name)) {
# copy($leadfile, "./vicidial_temp_file.xls");
$file=fopen("$WeBServeRRooT/vicidial/vicidial_temp_file.xls", "r");
$file=fopen("$lead_file", "r");
print "<center><font face='arial, helvetica' size=3 color='#009900'><B>VerarbeitungExcel file... \n";
if (strlen($list_id_override)>0)
{
print "<BR><BR>LISTE IDENTIFIKATION OVERRIDE FOR THIS FILE: $list_id_override<BR><BR>\n";
}
# print "$WeBServeRRooT/vicidial/listloader_super.pl $vendor_lead_code_field,$source_id_field,$list_id_field,$phone_code_field,$phone_number_field,$title_field,$first_name_field,$middle_initial_field,$last_name_field,$address1_field,$address2_field,$address3_field,$city_field,$state_field,$province_field,$postal_code_field,$country_code_field,$gender_field,$date_of_birth_field,$alt_phone_field,$email_field,$security_phrase_field,$comments_field";
passthru("$WeBServeRRooT/vicidial/listloader_super.pl $vendor_lead_code_field,$source_id_field,$list_id_field,$phone_code_field,$phone_number_field,$title_field,$first_name_field,$middle_initial_field,$last_name_field,$address1_field,$address2_field,$address3_field,$city_field,$state_field,$province_field,$postal_code_field,$country_code_field,$gender_field,$date_of_birth_field,$alt_phone_field,$email_field,$security_phrase_field,$comments_field, --forcelistid=$list_id_override");
# print "|$WeBServeRRooT/vicidial/listloader_super.pl $vendor_lead_code_field,$source_id_field,$list_id_field,$phone_code_field,$phone_number_field,$title_field,$first_name_field,$middle_initial_field,$last_name_field,$address1_field,$address2_field,$address3_field,$city_field,$state_field,$province_field,$postal_code_field,$country_code_field,$gender_field,$date_of_birth_field,$alt_phone_field,$email_field,$security_phrase_field,$comments_field, --forcelistid=$list_id_override --lead_file=$lead_file|";
passthru("$WeBServeRRooT/vicidial/listloader_super.pl $vendor_lead_code_field,$source_id_field,$list_id_field,$phone_code_field,$phone_number_field,$title_field,$first_name_field,$middle_initial_field,$last_name_field,$address1_field,$address2_field,$address3_field,$city_field,$state_field,$province_field,$postal_code_field,$country_code_field,$gender_field,$date_of_birth_field,$alt_phone_field,$email_field,$security_phrase_field,$comments_field, --forcelistid=$list_id_override --lead-file=$lead_file");
} else {
# copy($leadfile, "./vicidial_temp_file.csv");
$file=fopen("$WeBServeRRooT/vicidial/vicidial_temp_file.csv", "r");
$stmt_file=fopen("listloader_stmts.txt", "w");
$file=fopen("$lead_file", "r");
if ($WeBRooTWritablE > 0)
{$stmt_file=fopen("$WeBServeRRooT/vicidial/listloader_stmts.txt", "w");}
print "<center><font face='arial, helvetica' size=3 color='#009900'><B>VerarbeitungCSV file... \n";
if (strlen($list_id_override)>0)
@@ -466,12 +480,12 @@ function ParseFileName() {
$country_code = $row[$country_code_field];
$gender = $row[$gender_field];
$date_of_birth = $row[$date_of_birth_field];
$alt_phone = $row[$alt_phone_field];
$alt_phone = eregi_replace("[^0-9]", "", $row[$alt_phone_field]);
$email = $row[$email_field];
$security_phrase = $row[$security_phrase_field];
$comments = trim($row[$comments_field]);
if (strlen($phone_number)>8) {
if (strlen($phone_number)>6) {
if (strlen($list_id_override)>0)
{
@@ -528,9 +542,18 @@ if ($leadfile && filesize($LF_path)<=8388608) {
if (!eregi(".csv", $leadfile_name) && !eregi(".xls", $leadfile_name)) {
copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.txt");
$file=fopen("$WeBServeRRooT/vicidial/vicidial_temp_file.txt", "r");
if ($WeBRooTWritablE > 0)
if ($WeBRooTWritablE > 0)
{
copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.txt");
$lead_file = "./vicidial_temp_file.txt";
}
else
{
copy($LF_path, "/tmp/vicidial_temp_file.txt");
$lead_file = "/tmp/vicidial_temp_file.txt";
}
$file=fopen("$lead_file", "r");
if ($WeBRooTWritablE > 0)
{$stmt_file=fopen("$WeBServeRRooT/vicidial/listloader_stmts.txt", "w");}
$buffer=fgets($file, 4096);
@@ -542,7 +565,7 @@ if ($leadfile && filesize($LF_path)<=8388608) {
if (count($field_check)>=5) {
flush();
$file=fopen("$WeBServeRRooT/vicidial/vicidial_temp_file.txt", "r");
$file=fopen("$lead_file", "r");
$total=0; $good=0; $bad=0;
print "<center><font face='arial, helvetica' size=3 color='#009900'><B>Verarbeitung$delim_name-delimited file... ($tab_count|$pipe_count)\n";
if (strlen($list_id_override)>0)
@@ -585,12 +608,12 @@ if ($leadfile && filesize($LF_path)<=8388608) {
$country_code = $row[16];
$gender = $row[17];
$date_of_birth = $row[18];
$alt_phone = $row[19];
$alt_phone = eregi_replace("[^0-9]", "", $row[19]);
$email = $row[20];
$security_phrase = $row[21];
$comments = trim($row[22]);
if (strlen($phone_number)>8) {
if (strlen($phone_number)>6) {
if (strlen($list_id_override)>0)
{
@@ -640,15 +663,39 @@ if ($leadfile && filesize($LF_path)<=8388608) {
} else {
print "<center><font face='arial, helvetica' size=3 color='#990000'><B>STÖRUNG: Die Akte hat nicht die erforderliche Zahl vonauffängt, um sie zu verarbeiten.</B></font></center>";
}
} else if (!eregi(".csv", $leadfile_name)) {
copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.xls");
$file=fopen("$WeBServeRRooT/vicidial/vicidial_temp_file.xls", "r");
} else if (!eregi(".csv", $leadfile_name))
{
if ($WeBRooTWritablE > 0)
{
copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.xls");
$lead_file = "$WeBServeRRooT/vicidial/vicidial_temp_file.xls";
}
else
{
copy($LF_path, "/tmp/vicidial_temp_file.xls");
$lead_file = "/tmp/vicidial_temp_file.xls";
}
$file=fopen("$lead_file", "r");
passthru("$WeBServeRRooT/vicidial/listloader.pl --forcelistid=$list_id_override");
} else {
copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.csv");
$file=fopen("$WeBServeRRooT/vicidial/vicidial_temp_file.csv", "r");
$stmt_file=fopen("listloader_stmts.txt", "w");
# echo "|$WeBServeRRooT/vicidial/listloader.pl --forcelistid=$list_id_override --lead-file=$lead_file|";
passthru("$WeBServeRRooT/vicidial/listloader.pl --forcelistid=$list_id_override --lead-file=$lead_file");
}
else
{
if ($WeBRooTWritablE > 0)
{
copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.csv");
$lead_file = "$WeBServeRRooT/vicidial/vicidial_temp_file.csv";
}
else
{
copy($LF_path, "/tmp/vicidial_temp_file.csv");
$lead_file = "/tmp/vicidial_temp_file.csv";
}
$file=fopen("$lead_file", "r");
if ($WeBRooTWritablE > 0)
{$stmt_file=fopen("$WeBServeRRooT/vicidial/listloader_stmts.txt", "w");}
print "<center><font face='arial, helvetica' size=3 color='#009900'><B>VerarbeitungCSV file... \n";
@@ -686,12 +733,12 @@ if ($leadfile && filesize($LF_path)<=8388608) {
$country_code = $row[16];
$gender = $row[17];
$date_of_birth = $row[18];
$alt_phone = $row[19];
$alt_phone = eregi_replace("[^0-9]", "", $row[19]);
$email = $row[20];
$security_phrase = $row[21];
$comments = trim($row[22]);
if (strlen($phone_number)>8) {
if (strlen($phone_number)>6) {
if (strlen($list_id_override)>0)
{
@@ -752,10 +799,21 @@ if ($leadfile && filesize($LF_path)<=8388608) {
$rslt=mysql_query("select vendor_lead_code, source_id, list_id, phone_code, phone_number, title, first_name, middle_initial, last_name, address1, address2, address3, city, state, province, postal_code, country_code, gender, date_of_birth, alt_phone, email, security_phrase, comments from vicidial_list limit 1", $link);
if (!eregi(".csv", $leadfile_name) && !eregi(".xls", $leadfile_name)) {
copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.txt");
$file=fopen("$WeBServeRRooT/vicidial/vicidial_temp_file.txt", "r");
$stmt_file=fopen("listloader_stmts.txt", "w");
if (!eregi(".csv", $leadfile_name) && !eregi(".xls", $leadfile_name))
{
if ($WeBRooTWritablE > 0)
{
copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.txt");
$lead_file = "$WeBServeRRooT/vicidial/vicidial_temp_file.txt";
}
else
{
copy($LF_path, "/tmp/vicidial_temp_file.txt");
$lead_file = "/tmp/vicidial_temp_file.txt";
}
$file=fopen("$lead_file", "r");
if ($WeBRooTWritablE > 0)
{$stmt_file=fopen("$WeBServeRRooT/vicidial/listloader_stmts.txt", "w");}
$buffer=fgets($file, 4096);
$tab_count=substr_count($buffer, "\t");
@@ -764,7 +822,7 @@ if ($leadfile && filesize($LF_path)<=8388608) {
if ($tab_count>$pipe_count) {$delimiter="\t"; $delim_name="tab";} else {$delimiter="|"; $delim_name="pipe";}
$field_check=explode($delimiter, $buffer);
flush();
$file=fopen("$WeBServeRRooT/vicidial/vicidial_temp_file.txt", "r");
$file=fopen("$lead_file", "r");
print "<center><font face='arial, helvetica' size=3 color='#009900'><B>Verarbeitung$delim_name-delimited file...\n";
if (strlen($list_id_override)>0)
@@ -826,13 +884,39 @@ if ($leadfile && filesize($LF_path)<=8388608) {
#print " </td>\r\n";
#print " </tr>\r\n";
}
} else if (!eregi(".csv", $leadfile_name)) {
copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.xls");
passthru("$WeBServeRRooT/vicidial/listloader_rowdisplay.pl");
} else {
copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.csv");
$file=fopen("$WeBServeRRooT/vicidial/vicidial_temp_file.csv", "r");
$stmt_file=fopen("listloader_stmts.txt", "w");
}
else if (!eregi(".csv", $leadfile_name))
{
if ($WeBRooTWritablE > 0)
{
copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.xls");
$lead_file = "$WeBServeRRooT/vicidial/vicidial_temp_file.xls";
}
else
{
copy($LF_path, "/tmp/vicidial_temp_file.xls");
$lead_file = "/tmp/vicidial_temp_file.xls";
}
# echo "|$WeBServeRRooT/vicidial/listloader_rowdisplay.pl --lead-file=$lead_file|";
passthru("$WeBServeRRooT/vicidial/listloader_rowdisplay.pl --lead-file=$lead_file");
}
else
{
if ($WeBRooTWritablE > 0)
{
copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.csv");
$lead_file = "$WeBServeRRooT/vicidial/vicidial_temp_file.csv";
}
else
{
copy($LF_path, "/tmp/vicidial_temp_file.csv");
$lead_file = "/tmp/vicidial_temp_file.csv";
}
$file=fopen("$lead_file", "r");
if ($WeBRooTWritablE > 0)
{$stmt_file=fopen("$WeBServeRRooT/vicidial/listloader_stmts.txt", "w");}
print "<center><font face='arial, helvetica' size=3 color='#009900'><B>VerarbeitungCSV file... \n";
@@ -895,6 +979,7 @@ if ($leadfile && filesize($LF_path)<=8388608) {
}
}
print " <tr bgcolor='#330099'>\r\n";
print " <input type=hidden name=lead_file value=\"$lead_file\">\r\n";
print " <input type=hidden name=list_id_override value=\"$list_id_override\">\r\n";
print " <th colspan=2><input type=submit name='OK_to_process' value='OKAY ZU VERARBEITEN'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=button onClick=\"javascript:document.location='new_listloader_superL.php'\" value=\"BEGINNEN SIE RÜBER\" name='reload_page'></th>\r\n";
print " </tr>\r\n";
@@ -7,6 +7,7 @@
#
# 60619-1714 - Added variable filtering to eliminate SQL injection attack threat
# - Added required user/pass to gain access to this page
# 60905-1326 - Added queue time stats
#
require("dbconnect.php");
@@ -117,7 +118,7 @@ $average_hold_seconds = round($average_hold_seconds, 0);
$average_hold_seconds = sprintf("%10s", $average_hold_seconds);
echo "Συνολικά κλήσεις που τοποθετήθηκαν από την Εκστρατεία: $TOTALcalls\n";
echo "Μέσος όρος σε δευτερόλεπτα για όλες τις κλήσεις: $average_hold_seconds\n";
echo "Average Call Length for all Calls: $average_hold_seconds seconds\n";
echo "\n";
echo "---------- ΕΓΚΑΤΑΛ\n";
@@ -136,7 +137,31 @@ $average_hold_seconds = round($average_hold_seconds, 0);
$average_hold_seconds = sprintf("%10s", $average_hold_seconds);
echo "Συνολικά ΕΓΚΑΤΑΛΕΙΜΕΝΕΣ κλήσεις: $DROPcalls $DROPpercent%\n";
echo "Μέσος όρος σε δευτερόλεπτα για ΕΓΚΑΤΑΕΙΜΕΝΕΣ κλήσεις: $average_hold_seconds\n";
echo "Average hold time for DROP Calls: $average_hold_seconds seconds\n";
echo "\n";
echo "---------- QUEUE STATS\n";
$stmt="select count(*),sum(queue_seconds) from vicidial_closer_log where call_date >= '$query_date 00:00:01' and call_date <= '$query_date 23:59:59' and campaign_id='" . mysql_real_escape_string($group) . "' and (queue_seconds > 0);";
$rslt=mysql_query($stmt, $link);
if ($DB) {echo "$stmt\n";}
$row=mysql_fetch_row($rslt);
$QUEUEcalls = sprintf("%10s", $row[0]);
$QUEUEpercent = (($QUEUEcalls / $TOTALcalls) * 100);
$QUEUEpercent = round($QUEUEpercent, 0);
$average_queue_seconds = ($row[1] / $row[0]);
$average_queue_seconds = round($average_queue_seconds, 2);
$average_queue_seconds = sprintf("%10.2f", $average_queue_seconds);
$average_total_queue_seconds = ($row[1] / $TOTALcalls);
$average_total_queue_seconds = round($average_total_queue_seconds, 2);
$average_total_queue_seconds = sprintf("%10.2f", $average_total_queue_seconds);
echo "Total Calls That entered Queue: $QUEUEcalls $QUEUEpercent%\n";
echo "Average QUEUE Length for queue calls: $average_queue_seconds seconds\n";
echo "Average QUEUE Length across all calls: $average_total_queue_seconds seconds\n";
##############################
@@ -114,7 +114,9 @@ $talking_to_print = mysql_num_rows($rslt);
$row[5]='- ΑΝΑΜΟΝΗ -';
$row[6]=$row[7];
}
$extension = sprintf("%-10s", $row[0]);
$extension = eregi_replace('Local/',"",$row[0]);
$extension = sprintf("%-10s", $extension);
while(strlen($extension)>10) {$extension = substr("$extension", 0, -1);}
$user = sprintf("%-6s", $row[1]);
$sessionid = sprintf("%-9s", $row[2]);
$channel = sprintf("%-10s", $row[3]);
@@ -132,7 +132,9 @@ $talking_to_print = mysql_num_rows($rslt);
$row[5]='- WAIT -';
$row[6]=$row[7];
}
$extension[$i] = sprintf("%-10s", $row[0]);
$extension[$i] = eregi_replace('Local/',"",$row[0]);
$extension[$i] = sprintf("%-10s", $extension[$i]);
while(strlen($extension[$i])>10) {$extension[$i] = substr("$extension[$i]", 0, -1);}
$user[$i] = sprintf("%-6s", $row[1]);
$sessionid[$i] = sprintf("%-9s", $row[2]);
$channel[$i] = sprintf("%-19s", $row[3]);
@@ -14,6 +14,8 @@
# 60619-1658 - Added variable filtering to eliminate SQL injection attack threat
# - Added required user/pass to gain access to this page
# 60626-1453 - Added display of system load to bottom (Angelito Manansala)
# 60901-1123 - Changed display elements at the top of the screen
# 60905-1342 - Fixed non INCALL|QUEUE timer column
#
header ("Content-type: text/html; charset=utf-8");
@@ -23,20 +25,22 @@ 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["server_ip"])) {$server_ip=$_GET["server_ip"];}
elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];}
if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];}
elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];}
if (isset($_GET["reset_counter"])) {$reset_counter=$_GET["reset_counter"];}
elseif (isset($_POST["reset_counter"])) {$reset_counter=$_POST["reset_counter"];}
if (isset($_GET["RR"])) {$RR=$_GET["RR"];}
if (isset($_GET["RR"])) {$RR=$_GET["RR"];}
elseif (isset($_POST["RR"])) {$RR=$_POST["RR"];}
if (isset($_GET["group"])) {$group=$_GET["group"];}
elseif (isset($_POST["group"])) {$group=$_POST["group"];}
if (isset($_GET["DB"])) {$DB=$_GET["DB"];}
if (isset($_GET["DB"])) {$DB=$_GET["DB"];}
elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];}
if (isset($_GET["adastats"])) {$adastats=$_GET["adastats"];}
elseif (isset($_POST["adastats"])) {$adastats=$_POST["adastats"];}
if (isset($_GET["submit"])) {$submit=$_GET["submit"];}
elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];}
elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];}
if (isset($_GET["ΕΠΙΒΕΒΑΙΩΣΗ"])) {$ΕΠΙΒΕΒΑΙΩΣΗ=$_GET["ΕΠΙΒΕΒΑΙΩΣΗ"];}
elseif (isset($_POST["ΕΠΙΒΕΒΑΙΩΣΗ"])) {$ΕΠΙΒΕΒΑΙΩΣΗ=$_POST["ΕΠΙΒΕΒΑΙΩΣΗ"];}
elseif (isset($_POST["ΕΠΙΒΕΒΑΙΩΣΗ"])) {$ΕΠΙΒΕΒΑΙΩΣΗ=$_POST["ΕΠΙΒΕΒΑΙΩΣΗ"];}
if (!isset($group)) {$group='';}
@@ -156,12 +160,13 @@ if ($reset_counter > 7)
<?
echo "<META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=utf-8\">\n";
echo"<META HTTP-EQUIV=Refresh CONTENT=\"$RR; URL=$PHP_SELF?RR=$RR&DB=$DB&group=$group\">\n";
echo"<META HTTP-EQUIV=Refresh CONTENT=\"$RR; URL=$PHP_SELF?RR=$RR&DB=$DB&group=$group&adastats=$adastats\">\n";
echo "<TITLE>VICIDIAL: Time On VDAD Εκστρατεία: $group</TITLE></HEAD><BODY BGCOLOR=WHITE>\n";
echo "<FORM ACTION=\"$PHP_SELF\" METHOD=GET>\n";
echo "VICIDIAL: Realtime Εκστρατεία: \n";
echo "<INPUT TYPE=HIDDEN NAME=RR VALUE=4>\n";
echo "<INPUT TYPE=HIDDEN NAME=DB VALUE=\"$DB\">\n";
echo "<INPUT TYPE=HIDDEN NAME=adastats VALUE=\"$adastats\">\n";
echo "<SELECT SIZE=1 NAME=group>\n";
$o=0;
while ($groups_to_print > $o)
@@ -172,7 +177,7 @@ echo "<SELECT SIZE=1 NAME=group>\n";
}
echo "</SELECT>\n";
echo "<INPUT type=submit NAME=ΕΠΙΒΕΒΑΙΩΣΗ VALUE=ΥΠΟΒΑΛΛΩ><FONT FACE=\"ARIAL,HELVETICA\" COLOR=BLACK SIZE=2> &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>";
echo "<a href=\"$PHP_SELF?group=$group&RR=40&DB=$DB&adastats=$adastats\">STOP</a> | <a href=\"$PHP_SELF?group=$group&RR=4&DB=$DB&adastats=$adastats\">GO</a>";
echo " &nbsp; &nbsp; &nbsp; &nbsp; <a href=\"./admin.php?ADD=34&campaign_id=$group\">ΤΡΟΠΟΠΟΙΗΣΗ</a> | <a href=\"./server_stats.php\">ΑΝΑΦΟΡΕΣ</a> </FONT>\n";
echo "\n\n";
@@ -180,18 +185,27 @@ echo "\n\n";
if (!$group) {echo "<BR><BR>please select a campaign from the pulldown above</FORM>\n"; exit;}
else
{
$stmt="select auto_dial_level,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,lead_filter_id,hopper_level,dial_method from vicidial_campaigns where campaign_id='" . mysql_real_escape_string($group) . "';";
$stmt="select auto_dial_level,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,lead_filter_id,hopper_level,dial_method,adaptive_maximum_level,adaptive_dropped_percentage,adaptive_dl_diff_target,adaptive_intensity,available_only_ratio_tally,adaptive_latest_server_time,local_call_time,dial_timeout from vicidial_campaigns where campaign_id='" . mysql_real_escape_string($group) . "';";
$rslt=mysql_query($stmt, $link);
$row=mysql_fetch_row($rslt);
$HOPlev = $row[8];
$DIALmethod = $row[9];
echo "<BR><table cellpadding=0 cellspacing=0><TR>";
echo "<TD ALIGN=RIGHT><font size=2><B>DIAL LEVEL:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $row[0]&nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>STATUSES:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $row[1], $row[2], $row[3], $row[4], $row[5] &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>ORDER:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $row[6] &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>FILTER:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $row[7] &nbsp; &nbsp; </TD>";
echo "</TR>";
$DIALlev = $row[0];
$DIALstatusA = $row[1];
$DIALstatusB = $row[2];
$DIALstatusC = $row[3];
$DIALstatusD = $row[4];
$DIALstatusE = $row[5];
$DIALorder = $row[6];
$DIALfilter = $row[7];
$HOPlev = $row[8];
$DIALmethod = $row[9];
$maxDIALlev = $row[10];
$DROPmax = $row[11];
$targetDIFF = $row[12];
$ADAintense = $row[13];
$ADAavailonly = $row[14];
$TAPERtime = $row[15];
$CALLtime = $row[16];
$DIALtimeout = $row[17];
$stmt="select count(*) from vicidial_hopper where campaign_id='" . mysql_real_escape_string($group) . "';";
$rslt=mysql_query($stmt, $link);
@@ -214,26 +228,59 @@ if ( ($diffONEMIN != 0) and ($agentsONEMIN > 0) )
}
else {$diffpctONEMIN = '0.00';}
echo "<BR><table cellpadding=0 cellspacing=0><TR>";
echo "<TD ALIGN=RIGHT><font size=2><B>DIAL LEVEL:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $DIALlev&nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>FILTER:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $DIALfilter &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT COLSPAN=2><font size=2><B> TIME:</B> &nbsp; </TD>";
echo "<TD ALIGN=LEFT COLSPAN=2><font size=2> $NOW_TIME </TD>";
echo "</TR>";
if ($adastats>1)
{
echo "<TR BGCOLOR=\"#CCCCCC\">";
echo "<TD ALIGN=RIGHT><a href=\"$PHP_SELF?group=$group&RR=4&DB=$DB&adastats=1\"><font size=1>- min </font></a><font size=2>&nbsp; <B>MAX LEVEL:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $maxDIALlev &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>DROPPED MAX:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $DROPmax% &nbsp; &nbsp;</TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>TARGET DIFF:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $targetDIFF &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>INTENSITY:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $ADAintense &nbsp; &nbsp; </TD>";
echo "</TR>";
echo "<TR BGCOLOR=\"#CCCCCC\">";
echo "<TD ALIGN=RIGHT><font size=2><B>DIAL TIMEOUT:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $DIALtimeout &nbsp;</TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>TAPER TIME:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $TAPERtime &nbsp;</TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>LOCAL TIME:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $CALLtime &nbsp;</TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>AVAIL ONLY:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $ADAavailonly &nbsp;</TD>";
echo "</TR>";
}
echo "<TR>";
echo "<TD ALIGN=RIGHT><font size=2><B>DIALABLE LEADS:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $DAleads &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>CALLS TODAY:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $callsTODAY &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>AVG AGENTS:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $agentsONEMIN &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>DIAL METHOD:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $DIALmethod &nbsp; &nbsp; </TD>";
echo "</TR>";
echo "<TR>";
echo "<TD ALIGN=RIGHT><font size=2><B>HOPPER LEVEL:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $HOPlev &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>LEADS IN HOPPER:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $VDhop &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>DIALABLE LEADS:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $DAleads &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=CENTER COLSPAN=2><font size=2> &nbsp; <B> TIME:</B> </TD>";
echo "</TR>";
echo "<TR>";
echo "<TD ALIGN=RIGHT><font size=2><B>CALLS TODAY:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $callsTODAY &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>CALLS DROPPED:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $dropsTODAY &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>DROPPED PERCENT:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $drpctTODAY% &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=CENTER COLSPAN=2><font size=2> &nbsp; $NOW_TIME </TD>";
echo "</TR>";
echo "<TR>";
echo "<TD ALIGN=RIGHT><font size=2><B>DIAL METHOD:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $DIALmethod &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>DL DIFF:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $diffONEMIN &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>AVG AGENTS:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $agentsONEMIN &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>STATUSES:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $DIALstatusA, $DIALstatusB, $DIALstatusC, $DIALstatusD, $DIALstatusE &nbsp; &nbsp; </TD>";
echo "</TR>";
echo "<TR>";
echo "<TD ALIGN=RIGHT><font size=2><B>LEADS IN HOPPER:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $VDhop &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>DROPPED PERCENT:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $drpctTODAY% &nbsp; &nbsp;</TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>DIFF:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $diffpctONEMIN% &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>ORDER:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $DIALorder &nbsp; &nbsp; </TD>";
echo "</TR>";
echo "</TR></TABLE>";
if ($adastats<2)
{
echo "<TR>";
echo "<TD ALIGN=LEFT COLSPAN=8><a href=\"$PHP_SELF?group=$group&RR=4&DB=$DB&adastats=2\"><font size=1>+ VIEW MORE SETTINGS</font></a></TD>";
echo "</TR>";
}
echo "</TABLE>";
echo "</FORM>\n\n";
}
@@ -329,14 +376,19 @@ $talking_to_print = mysql_num_rows($rslt);
{
$row[5]=$row[6];
}
$extension = sprintf("%-10s", $row[0]);
$extension = eregi_replace('Local/',"",$row[0]);
$extension = sprintf("%-10s", $extension);
while(strlen($extension)>10) {$extension = substr("$extension", 0, -1);}
$user = sprintf("%-6s", $row[1]);
$sessionid = sprintf("%-9s", $row[2]);
$status = sprintf("%-6s", $row[3]);
$server_ip = sprintf("%-15s", $row[4]);
$call_server_ip = sprintf("%-15s", $row[7]);
$campaign_id = sprintf("%-10s", $row[8]);
$call_time_S = ($STARTtime - $row[5]);
if (!eregi("INCALL|QUEUE",$row[3]))
{$call_time_S = ($STARTtime - $row[6]);}
else
{$call_time_S = ($STARTtime - $row[5]);}
$call_time_M = ($call_time_S / 60);
$call_time_M = round($call_time_M, 2);
@@ -11,12 +11,14 @@
# 60421-1043 - check GET/POST vars lines with isset to not trigger PHP NOTICES
# 60616-1006 - added listID override and gmt_offset lookup while loading
# 60619-1652 - Added variable filtering to eliminate SQL injection attack threat
# 60822-1105 - fixed for nonwritable directories
# 60906-1059 - added filter of non-digits in alt_phone field
#
# make sure vicidial_list exists and that your file follows the formatting correctly. This page does not dedupe or do any other lead filtering actions yet at this time.
#
$version = '1.1.12';
$build = '60619-1652';
$version = '2.0.1';
$build = '60822-1105';
header ("Content-type: text/html; charset=utf-8");
@@ -142,8 +144,16 @@ function ShowProgress(good, bad, total) {
if ($leadfile and filesize($LF_path)<=8388608) {
print "<script language='JavaScript1.2'>document.forms[0].leadfile.disabled=true; document.forms[0].submit_file.disabled=true; document.forms[0].reload_page.disabled=true;</script>";
flush();
copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.txt");
$file=fopen("$WeBServeRRooT/vicidial/vicidial_temp_file.txt", "r");
if ($WeBRooTWritablE > 0)
{
copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.txt");
$lead_file = "./vicidial_temp_file.txt";
}
else
{
$lead_file = "$LF_path";
}
$file=fopen("$lead_file", "r");
if ($WeBRooTWritablE > 0)
{$stmt_file=fopen("$WeBServeRRooT/vicidial/listloader_stmts.txt", "w");}
$pulldate=date("Y-m-d H:i:s");
@@ -157,7 +167,7 @@ if ($leadfile and filesize($LF_path)<=8388608) {
if (count($field_check)>=5) {
flush();
$file=fopen("./vicidial_temp_file.txt", "r");
$file=fopen("$lead_file", "r");
$total=0; $good=0; $bad=0;
print "<center><font face='arial, helvetica' size=3 color='#009900'><B>Επεξεργασία$delim_name-delimited file... ($tab_count|$pipe_count)\n";
@@ -194,12 +204,12 @@ if ($leadfile and filesize($LF_path)<=8388608) {
$country = $row[16];
$gender = $row[17];
$date_of_birth = $row[18];
$alt_phone = $row[19];
$alt_phone = eregi_replace("[^0-9]", "", $row[19]);
$email = $row[20];
$security_phrase = $row[21];
$comments = trim($row[22]);
if (strlen($phone_number)>8)
if (strlen($phone_number)>6)
{
$entry_date = "$pulldate";
$modify_date = "";
@@ -13,11 +13,13 @@
# 60616-1240 - added listID override
# 60616-1604 - added gmt lookup for each lead
# 60619-1651 - Added variable filtering to eliminate SQL injection attack threat
# 60822-1121 - fixed for nonwritable directories
# 60906-1100 - added filter of non-digits in alt_phone field
#
# make sure vicidial_list exists and that your file follows the formatting correctly. This page does not dedupe or do any other lead filtering actions yet at this time.
$version = '1.1.12-1';
$build = '60619-1651';
$version = '2.0.1';
$build = '60906-1100';
require("dbconnect.php");
@@ -94,6 +96,8 @@ if (isset($_GET["comments_field"])) {$comments_field=$_GET["comments_field"];
if (isset($_GET["list_id_override"])) {$list_id_override=$_GET["list_id_override"];}
elseif (isset($_POST["list_id_override"])) {$list_id_override=$_POST["list_id_override"];}
$list_id_override = (preg_replace("/\D/","",$list_id_override));
if (isset($_GET["lead_file"])) {$lead_file=$_GET["lead_file"];}
elseif (isset($_POST["lead_file"])) {$lead_file=$_POST["lead_file"];}
# $country_field=$_GET["country_field"]; if (!$country_field) {$country_field=$_POST["country_field"];}
@@ -114,7 +118,7 @@ $rslt=mysql_query($stmt, $link);
$row=mysql_fetch_row($rslt);
$auth=$row[0];
$fp = fopen ("./project_auth_entries.txt", "a");
if ($WeBRooTWritablE > 0) {$fp = fopen ("./project_auth_entries.txt", "a");}
$date = date("r");
$ip = getenv("REMOTE_ADDR");
$browser = getenv("HTTP_USER_AGENT");
@@ -143,13 +147,19 @@ $browser = getenv("HTTP_USER_AGENT");
echo "You do not have permissions to load leads\n";
exit;
}
fwrite ($fp, "LIST_LOAD|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n");
fclose($fp);
if ($WeBRooTWritablE > 0)
{
fwrite ($fp, "LIST_LOAD|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n");
fclose($fp);
}
}
else
{
fwrite ($fp, "LIST_LOAD|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n");
fclose($fp);
if ($WeBRooTWritablE > 0)
{
fwrite ($fp, "LIST_LOAD|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n");
fclose($fp);
}
}
}
@@ -303,9 +313,11 @@ function ParseFileName() {
if (!eregi(".csv", $leadfile_name) && !eregi(".xls", $leadfile_name)) {
# copy($leadfile, "./vicidial_temp_file.txt");
$file=fopen("$WeBServeRRooT/vicidial/vicidial_temp_file.txt", "r");
$stmt_file=fopen("listloader_stmts.txt", "w");
$file=fopen("$lead_file", "r");
if ($WeBRooTWritablE > 0)
{
$stmt_file=fopen("listloader_stmts.txt", "w");
}
$buffer=fgets($file, 4096);
$tab_count=substr_count($buffer, "\t");
$pipe_count=substr_count($buffer, "|");
@@ -315,7 +327,7 @@ function ParseFileName() {
if (count($field_check)>=5) {
flush();
$file=fopen("$WeBServeRRooT/vicidial/vicidial_temp_file.txt", "r");
$file=fopen("$lead_file", "r");
print "<center><font face='arial, helvetica' size=3 color='#009900'><B>Επεξεργασία$delim_name-delimited file...\n";
if (strlen($list_id_override)>0)
@@ -359,12 +371,12 @@ function ParseFileName() {
$country_code = $row[$country_code_field];
$gender = $row[$gender_field];
$date_of_birth = $row[$date_of_birth_field];
$alt_phone = $row[$alt_phone_field];
$alt_phone = eregi_replace("[^0-9]", "", $row[$alt_phone_field]);
$email = $row[$email_field];
$security_phrase = $row[$security_phrase_field];
$comments = trim($row[$comments_field]);
if (strlen($phone_number)>8) {
if (strlen($phone_number)>6) {
if (strlen($list_id_override)>0)
@@ -416,19 +428,21 @@ function ParseFileName() {
}
} else if (!eregi(".csv", $leadfile_name)) {
# copy($leadfile, "./vicidial_temp_file.xls");
$file=fopen("$WeBServeRRooT/vicidial/vicidial_temp_file.xls", "r");
$file=fopen("$lead_file", "r");
print "<center><font face='arial, helvetica' size=3 color='#009900'><B>ΕπεξεργασίαExcel file... \n";
if (strlen($list_id_override)>0)
{
print "<BR><BR>ID ΛΙΣΤΑΣ OVERRIDE FOR THIS FILE: $list_id_override<BR><BR>\n";
}
# print "$WeBServeRRooT/vicidial/listloader_super.pl $vendor_lead_code_field,$source_id_field,$list_id_field,$phone_code_field,$phone_number_field,$title_field,$first_name_field,$middle_initial_field,$last_name_field,$address1_field,$address2_field,$address3_field,$city_field,$state_field,$province_field,$postal_code_field,$country_code_field,$gender_field,$date_of_birth_field,$alt_phone_field,$email_field,$security_phrase_field,$comments_field";
passthru("$WeBServeRRooT/vicidial/listloader_super.pl $vendor_lead_code_field,$source_id_field,$list_id_field,$phone_code_field,$phone_number_field,$title_field,$first_name_field,$middle_initial_field,$last_name_field,$address1_field,$address2_field,$address3_field,$city_field,$state_field,$province_field,$postal_code_field,$country_code_field,$gender_field,$date_of_birth_field,$alt_phone_field,$email_field,$security_phrase_field,$comments_field, --forcelistid=$list_id_override");
# print "|$WeBServeRRooT/vicidial/listloader_super.pl $vendor_lead_code_field,$source_id_field,$list_id_field,$phone_code_field,$phone_number_field,$title_field,$first_name_field,$middle_initial_field,$last_name_field,$address1_field,$address2_field,$address3_field,$city_field,$state_field,$province_field,$postal_code_field,$country_code_field,$gender_field,$date_of_birth_field,$alt_phone_field,$email_field,$security_phrase_field,$comments_field, --forcelistid=$list_id_override --lead_file=$lead_file|";
passthru("$WeBServeRRooT/vicidial/listloader_super.pl $vendor_lead_code_field,$source_id_field,$list_id_field,$phone_code_field,$phone_number_field,$title_field,$first_name_field,$middle_initial_field,$last_name_field,$address1_field,$address2_field,$address3_field,$city_field,$state_field,$province_field,$postal_code_field,$country_code_field,$gender_field,$date_of_birth_field,$alt_phone_field,$email_field,$security_phrase_field,$comments_field, --forcelistid=$list_id_override --lead-file=$lead_file");
} else {
# copy($leadfile, "./vicidial_temp_file.csv");
$file=fopen("$WeBServeRRooT/vicidial/vicidial_temp_file.csv", "r");
$stmt_file=fopen("listloader_stmts.txt", "w");
$file=fopen("$lead_file", "r");
if ($WeBRooTWritablE > 0)
{$stmt_file=fopen("$WeBServeRRooT/vicidial/listloader_stmts.txt", "w");}
print "<center><font face='arial, helvetica' size=3 color='#009900'><B>ΕπεξεργασίαCSV file... \n";
if (strlen($list_id_override)>0)
@@ -466,12 +480,12 @@ function ParseFileName() {
$country_code = $row[$country_code_field];
$gender = $row[$gender_field];
$date_of_birth = $row[$date_of_birth_field];
$alt_phone = $row[$alt_phone_field];
$alt_phone = eregi_replace("[^0-9]", "", $row[$alt_phone_field]);
$email = $row[$email_field];
$security_phrase = $row[$security_phrase_field];
$comments = trim($row[$comments_field]);
if (strlen($phone_number)>8) {
if (strlen($phone_number)>6) {
if (strlen($list_id_override)>0)
{
@@ -528,9 +542,18 @@ if ($leadfile && filesize($LF_path)<=8388608) {
if (!eregi(".csv", $leadfile_name) && !eregi(".xls", $leadfile_name)) {
copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.txt");
$file=fopen("$WeBServeRRooT/vicidial/vicidial_temp_file.txt", "r");
if ($WeBRooTWritablE > 0)
if ($WeBRooTWritablE > 0)
{
copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.txt");
$lead_file = "./vicidial_temp_file.txt";
}
else
{
copy($LF_path, "/tmp/vicidial_temp_file.txt");
$lead_file = "/tmp/vicidial_temp_file.txt";
}
$file=fopen("$lead_file", "r");
if ($WeBRooTWritablE > 0)
{$stmt_file=fopen("$WeBServeRRooT/vicidial/listloader_stmts.txt", "w");}
$buffer=fgets($file, 4096);
@@ -542,7 +565,7 @@ if ($leadfile && filesize($LF_path)<=8388608) {
if (count($field_check)>=5) {
flush();
$file=fopen("$WeBServeRRooT/vicidial/vicidial_temp_file.txt", "r");
$file=fopen("$lead_file", "r");
$total=0; $good=0; $bad=0;
print "<center><font face='arial, helvetica' size=3 color='#009900'><B>Επεξεργασία$delim_name-delimited file... ($tab_count|$pipe_count)\n";
if (strlen($list_id_override)>0)
@@ -585,12 +608,12 @@ if ($leadfile && filesize($LF_path)<=8388608) {
$country_code = $row[16];
$gender = $row[17];
$date_of_birth = $row[18];
$alt_phone = $row[19];
$alt_phone = eregi_replace("[^0-9]", "", $row[19]);
$email = $row[20];
$security_phrase = $row[21];
$comments = trim($row[22]);
if (strlen($phone_number)>8) {
if (strlen($phone_number)>6) {
if (strlen($list_id_override)>0)
{
@@ -640,15 +663,39 @@ if ($leadfile && filesize($LF_path)<=8388608) {
} else {
print "<center><font face='arial, helvetica' size=3 color='#990000'><B>Λάθος: Το αρχείο δεν έχει τον απαιτούμενο αριθμό πεδίων.</B></font></center>";
}
} else if (!eregi(".csv", $leadfile_name)) {
copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.xls");
$file=fopen("$WeBServeRRooT/vicidial/vicidial_temp_file.xls", "r");
} else if (!eregi(".csv", $leadfile_name))
{
if ($WeBRooTWritablE > 0)
{
copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.xls");
$lead_file = "$WeBServeRRooT/vicidial/vicidial_temp_file.xls";
}
else
{
copy($LF_path, "/tmp/vicidial_temp_file.xls");
$lead_file = "/tmp/vicidial_temp_file.xls";
}
$file=fopen("$lead_file", "r");
passthru("$WeBServeRRooT/vicidial/listloader.pl --forcelistid=$list_id_override");
} else {
copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.csv");
$file=fopen("$WeBServeRRooT/vicidial/vicidial_temp_file.csv", "r");
$stmt_file=fopen("listloader_stmts.txt", "w");
# echo "|$WeBServeRRooT/vicidial/listloader.pl --forcelistid=$list_id_override --lead-file=$lead_file|";
passthru("$WeBServeRRooT/vicidial/listloader.pl --forcelistid=$list_id_override --lead-file=$lead_file");
}
else
{
if ($WeBRooTWritablE > 0)
{
copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.csv");
$lead_file = "$WeBServeRRooT/vicidial/vicidial_temp_file.csv";
}
else
{
copy($LF_path, "/tmp/vicidial_temp_file.csv");
$lead_file = "/tmp/vicidial_temp_file.csv";
}
$file=fopen("$lead_file", "r");
if ($WeBRooTWritablE > 0)
{$stmt_file=fopen("$WeBServeRRooT/vicidial/listloader_stmts.txt", "w");}
print "<center><font face='arial, helvetica' size=3 color='#009900'><B>ΕπεξεργασίαCSV file... \n";
@@ -686,12 +733,12 @@ if ($leadfile && filesize($LF_path)<=8388608) {
$country_code = $row[16];
$gender = $row[17];
$date_of_birth = $row[18];
$alt_phone = $row[19];
$alt_phone = eregi_replace("[^0-9]", "", $row[19]);
$email = $row[20];
$security_phrase = $row[21];
$comments = trim($row[22]);
if (strlen($phone_number)>8) {
if (strlen($phone_number)>6) {
if (strlen($list_id_override)>0)
{
@@ -752,10 +799,21 @@ if ($leadfile && filesize($LF_path)<=8388608) {
$rslt=mysql_query("select vendor_lead_code, source_id, list_id, phone_code, phone_number, title, first_name, middle_initial, last_name, address1, address2, address3, city, state, province, postal_code, country_code, gender, date_of_birth, alt_phone, email, security_phrase, comments from vicidial_list limit 1", $link);
if (!eregi(".csv", $leadfile_name) && !eregi(".xls", $leadfile_name)) {
copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.txt");
$file=fopen("$WeBServeRRooT/vicidial/vicidial_temp_file.txt", "r");
$stmt_file=fopen("listloader_stmts.txt", "w");
if (!eregi(".csv", $leadfile_name) && !eregi(".xls", $leadfile_name))
{
if ($WeBRooTWritablE > 0)
{
copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.txt");
$lead_file = "$WeBServeRRooT/vicidial/vicidial_temp_file.txt";
}
else
{
copy($LF_path, "/tmp/vicidial_temp_file.txt");
$lead_file = "/tmp/vicidial_temp_file.txt";
}
$file=fopen("$lead_file", "r");
if ($WeBRooTWritablE > 0)
{$stmt_file=fopen("$WeBServeRRooT/vicidial/listloader_stmts.txt", "w");}
$buffer=fgets($file, 4096);
$tab_count=substr_count($buffer, "\t");
@@ -764,7 +822,7 @@ if ($leadfile && filesize($LF_path)<=8388608) {
if ($tab_count>$pipe_count) {$delimiter="\t"; $delim_name="tab";} else {$delimiter="|"; $delim_name="pipe";}
$field_check=explode($delimiter, $buffer);
flush();
$file=fopen("$WeBServeRRooT/vicidial/vicidial_temp_file.txt", "r");
$file=fopen("$lead_file", "r");
print "<center><font face='arial, helvetica' size=3 color='#009900'><B>Επεξεργασία$delim_name-delimited file...\n";
if (strlen($list_id_override)>0)
@@ -826,13 +884,39 @@ if ($leadfile && filesize($LF_path)<=8388608) {
#print " </td>\r\n";
#print " </tr>\r\n";
}
} else if (!eregi(".csv", $leadfile_name)) {
copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.xls");
passthru("$WeBServeRRooT/vicidial/listloader_rowdisplay.pl");
} else {
copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.csv");
$file=fopen("$WeBServeRRooT/vicidial/vicidial_temp_file.csv", "r");
$stmt_file=fopen("listloader_stmts.txt", "w");
}
else if (!eregi(".csv", $leadfile_name))
{
if ($WeBRooTWritablE > 0)
{
copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.xls");
$lead_file = "$WeBServeRRooT/vicidial/vicidial_temp_file.xls";
}
else
{
copy($LF_path, "/tmp/vicidial_temp_file.xls");
$lead_file = "/tmp/vicidial_temp_file.xls";
}
# echo "|$WeBServeRRooT/vicidial/listloader_rowdisplay.pl --lead-file=$lead_file|";
passthru("$WeBServeRRooT/vicidial/listloader_rowdisplay.pl --lead-file=$lead_file");
}
else
{
if ($WeBRooTWritablE > 0)
{
copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.csv");
$lead_file = "$WeBServeRRooT/vicidial/vicidial_temp_file.csv";
}
else
{
copy($LF_path, "/tmp/vicidial_temp_file.csv");
$lead_file = "/tmp/vicidial_temp_file.csv";
}
$file=fopen("$lead_file", "r");
if ($WeBRooTWritablE > 0)
{$stmt_file=fopen("$WeBServeRRooT/vicidial/listloader_stmts.txt", "w");}
print "<center><font face='arial, helvetica' size=3 color='#009900'><B>ΕπεξεργασίαCSV file... \n";
@@ -895,6 +979,7 @@ if ($leadfile && filesize($LF_path)<=8388608) {
}
}
print " <tr bgcolor='#330099'>\r\n";
print " <input type=hidden name=lead_file value=\"$lead_file\">\r\n";
print " <input type=hidden name=list_id_override value=\"$list_id_override\">\r\n";
print " <th colspan=2><input type=submit name='OK_to_process' value='ΟΚ ΓΙΑ ΕΠΕΞΕΡΓΑΣΙΑ'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=button onClick=\"javascript:document.location='new_listloader_superL.php'\" value=\"ΞΕΚΙΝΑ\" name='reload_page'></th>\r\n";
print " </tr>\r\n";
@@ -7,6 +7,7 @@
#
# 60619-1714 - Added variable filtering to eliminate SQL injection attack threat
# - Added required user/pass to gain access to this page
# 60905-1326 - Added queue time stats
#
require("dbconnect.php");
@@ -117,7 +118,7 @@ $average_hold_seconds = round($average_hold_seconds, 0);
$average_hold_seconds = sprintf("%10s", $average_hold_seconds);
echo "Total Calls placed from this Campaign: $TOTALcalls\n";
echo "Average Call Length for all Calls in seconds: $average_hold_seconds\n";
echo "Average Call Length for all Calls: $average_hold_seconds seconds\n";
echo "\n";
echo "---------- DROPS\n";
@@ -136,7 +137,31 @@ $average_hold_seconds = round($average_hold_seconds, 0);
$average_hold_seconds = sprintf("%10s", $average_hold_seconds);
echo "Total DROP Calls: $DROPcalls $DROPpercent%\n";
echo "Average Length for DROP Calls in seconds: $average_hold_seconds\n";
echo "Average hold time for DROP Calls: $average_hold_seconds seconds\n";
echo "\n";
echo "---------- QUEUE STATS\n";
$stmt="select count(*),sum(queue_seconds) from vicidial_closer_log where call_date >= '$query_date 00:00:01' and call_date <= '$query_date 23:59:59' and campaign_id='" . mysql_real_escape_string($group) . "' and (queue_seconds > 0);";
$rslt=mysql_query($stmt, $link);
if ($DB) {echo "$stmt\n";}
$row=mysql_fetch_row($rslt);
$QUEUEcalls = sprintf("%10s", $row[0]);
$QUEUEpercent = (($QUEUEcalls / $TOTALcalls) * 100);
$QUEUEpercent = round($QUEUEpercent, 0);
$average_queue_seconds = ($row[1] / $row[0]);
$average_queue_seconds = round($average_queue_seconds, 2);
$average_queue_seconds = sprintf("%10.2f", $average_queue_seconds);
$average_total_queue_seconds = ($row[1] / $TOTALcalls);
$average_total_queue_seconds = round($average_total_queue_seconds, 2);
$average_total_queue_seconds = sprintf("%10.2f", $average_total_queue_seconds);
echo "Total Calls That entered Queue: $QUEUEcalls $QUEUEpercent%\n";
echo "Average QUEUE Length for queue calls: $average_queue_seconds seconds\n";
echo "Average QUEUE Length across all calls: $average_total_queue_seconds seconds\n";
##############################
@@ -114,7 +114,9 @@ $talking_to_print = mysql_num_rows($rslt);
$row[5]=' - WAITING - ';
$row[6]=$row[7];
}
$extension = sprintf("%-10s", $row[0]);
$extension = eregi_replace('Local/',"",$row[0]);
$extension = sprintf("%-10s", $extension);
while(strlen($extension)>10) {$extension = substr("$extension", 0, -1);}
$user = sprintf("%-6s", $row[1]);
$sessionid = sprintf("%-9s", $row[2]);
$channel = sprintf("%-10s", $row[3]);
@@ -132,7 +132,9 @@ $talking_to_print = mysql_num_rows($rslt);
$row[5]='- WAIT -';
$row[6]=$row[7];
}
$extension[$i] = sprintf("%-10s", $row[0]);
$extension[$i] = eregi_replace('Local/',"",$row[0]);
$extension[$i] = sprintf("%-10s", $extension[$i]);
while(strlen($extension[$i])>10) {$extension[$i] = substr("$extension[$i]", 0, -1);}
$user[$i] = sprintf("%-6s", $row[1]);
$sessionid[$i] = sprintf("%-9s", $row[2]);
$channel[$i] = sprintf("%-19s", $row[3]);
@@ -14,6 +14,8 @@
# 60619-1658 - Added variable filtering to eliminate SQL injection attack threat
# - Added required user/pass to gain access to this page
# 60626-1453 - Added display of system load to bottom (Angelito Manansala)
# 60901-1123 - Changed display elements at the top of the screen
# 60905-1342 - Fixed non INCALL|QUEUE timer column
#
header ("Content-type: text/html; charset=utf-8");
@@ -23,20 +25,22 @@ 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["server_ip"])) {$server_ip=$_GET["server_ip"];}
elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];}
if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];}
elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];}
if (isset($_GET["reset_counter"])) {$reset_counter=$_GET["reset_counter"];}
elseif (isset($_POST["reset_counter"])) {$reset_counter=$_POST["reset_counter"];}
if (isset($_GET["RR"])) {$RR=$_GET["RR"];}
if (isset($_GET["RR"])) {$RR=$_GET["RR"];}
elseif (isset($_POST["RR"])) {$RR=$_POST["RR"];}
if (isset($_GET["group"])) {$group=$_GET["group"];}
elseif (isset($_POST["group"])) {$group=$_POST["group"];}
if (isset($_GET["DB"])) {$DB=$_GET["DB"];}
if (isset($_GET["DB"])) {$DB=$_GET["DB"];}
elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];}
if (isset($_GET["adastats"])) {$adastats=$_GET["adastats"];}
elseif (isset($_POST["adastats"])) {$adastats=$_POST["adastats"];}
if (isset($_GET["submit"])) {$submit=$_GET["submit"];}
elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];}
elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];}
if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];}
elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];}
elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];}
if (!isset($group)) {$group='';}
@@ -156,12 +160,13 @@ if ($reset_counter > 7)
<?
echo "<META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=utf-8\">\n";
echo"<META HTTP-EQUIV=Refresh CONTENT=\"$RR; URL=$PHP_SELF?RR=$RR&DB=$DB&group=$group\">\n";
echo"<META HTTP-EQUIV=Refresh CONTENT=\"$RR; URL=$PHP_SELF?RR=$RR&DB=$DB&group=$group&adastats=$adastats\">\n";
echo "<TITLE>VICIDIAL: Time On VDAD Campaign: $group</TITLE></HEAD><BODY BGCOLOR=WHITE>\n";
echo "<FORM ACTION=\"$PHP_SELF\" METHOD=GET>\n";
echo "VICIDIAL: Realtime Campaign: \n";
echo "<INPUT TYPE=HIDDEN NAME=RR VALUE=4>\n";
echo "<INPUT TYPE=HIDDEN NAME=DB VALUE=\"$DB\">\n";
echo "<INPUT TYPE=HIDDEN NAME=adastats VALUE=\"$adastats\">\n";
echo "<SELECT SIZE=1 NAME=group>\n";
$o=0;
while ($groups_to_print > $o)
@@ -172,7 +177,7 @@ echo "<SELECT SIZE=1 NAME=group>\n";
}
echo "</SELECT>\n";
echo "<INPUT type=submit NAME=SUBMIT VALUE=SUBMIT><FONT FACE=\"ARIAL,HELVETICA\" COLOR=BLACK SIZE=2> &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>";
echo "<a href=\"$PHP_SELF?group=$group&RR=40&DB=$DB&adastats=$adastats\">STOP</a> | <a href=\"$PHP_SELF?group=$group&RR=4&DB=$DB&adastats=$adastats\">GO</a>";
echo " &nbsp; &nbsp; &nbsp; &nbsp; <a href=\"./admin.php?ADD=34&campaign_id=$group\">MODIFY</a> | <a href=\"./server_stats.php\">REPORTS</a> </FONT>\n";
echo "\n\n";
@@ -180,18 +185,27 @@ echo "\n\n";
if (!$group) {echo "<BR><BR>please select a campaign from the pulldown above</FORM>\n"; exit;}
else
{
$stmt="select auto_dial_level,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,lead_filter_id,hopper_level,dial_method from vicidial_campaigns where campaign_id='" . mysql_real_escape_string($group) . "';";
$stmt="select auto_dial_level,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,lead_filter_id,hopper_level,dial_method,adaptive_maximum_level,adaptive_dropped_percentage,adaptive_dl_diff_target,adaptive_intensity,available_only_ratio_tally,adaptive_latest_server_time,local_call_time,dial_timeout from vicidial_campaigns where campaign_id='" . mysql_real_escape_string($group) . "';";
$rslt=mysql_query($stmt, $link);
$row=mysql_fetch_row($rslt);
$HOPlev = $row[8];
$DIALmethod = $row[9];
echo "<BR><table cellpadding=0 cellspacing=0><TR>";
echo "<TD ALIGN=RIGHT><font size=2><B>DIAL LEVEL:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $row[0]&nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>STATUSES:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $row[1], $row[2], $row[3], $row[4], $row[5] &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>ORDER:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $row[6] &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>FILTER:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $row[7] &nbsp; &nbsp; </TD>";
echo "</TR>";
$DIALlev = $row[0];
$DIALstatusA = $row[1];
$DIALstatusB = $row[2];
$DIALstatusC = $row[3];
$DIALstatusD = $row[4];
$DIALstatusE = $row[5];
$DIALorder = $row[6];
$DIALfilter = $row[7];
$HOPlev = $row[8];
$DIALmethod = $row[9];
$maxDIALlev = $row[10];
$DROPmax = $row[11];
$targetDIFF = $row[12];
$ADAintense = $row[13];
$ADAavailonly = $row[14];
$TAPERtime = $row[15];
$CALLtime = $row[16];
$DIALtimeout = $row[17];
$stmt="select count(*) from vicidial_hopper where campaign_id='" . mysql_real_escape_string($group) . "';";
$rslt=mysql_query($stmt, $link);
@@ -214,26 +228,59 @@ if ( ($diffONEMIN != 0) and ($agentsONEMIN > 0) )
}
else {$diffpctONEMIN = '0.00';}
echo "<BR><table cellpadding=0 cellspacing=0><TR>";
echo "<TD ALIGN=RIGHT><font size=2><B>DIAL LEVEL:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $DIALlev&nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>FILTER:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $DIALfilter &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT COLSPAN=2><font size=2><B> TIME:</B> &nbsp; </TD>";
echo "<TD ALIGN=LEFT COLSPAN=2><font size=2> $NOW_TIME </TD>";
echo "</TR>";
if ($adastats>1)
{
echo "<TR BGCOLOR=\"#CCCCCC\">";
echo "<TD ALIGN=RIGHT><a href=\"$PHP_SELF?group=$group&RR=4&DB=$DB&adastats=1\"><font size=1>- min </font></a><font size=2>&nbsp; <B>MAX LEVEL:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $maxDIALlev &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>DROPPED MAX:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $DROPmax% &nbsp; &nbsp;</TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>TARGET DIFF:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $targetDIFF &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>INTENSITY:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $ADAintense &nbsp; &nbsp; </TD>";
echo "</TR>";
echo "<TR BGCOLOR=\"#CCCCCC\">";
echo "<TD ALIGN=RIGHT><font size=2><B>DIAL TIMEOUT:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $DIALtimeout &nbsp;</TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>TAPER TIME:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $TAPERtime &nbsp;</TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>LOCAL TIME:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $CALLtime &nbsp;</TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>AVAIL ONLY:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $ADAavailonly &nbsp;</TD>";
echo "</TR>";
}
echo "<TR>";
echo "<TD ALIGN=RIGHT><font size=2><B>DIALABLE LEADS:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $DAleads &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>CALLS TODAY:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $callsTODAY &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>AVG AGENTS:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $agentsONEMIN &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>DIAL METHOD:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $DIALmethod &nbsp; &nbsp; </TD>";
echo "</TR>";
echo "<TR>";
echo "<TD ALIGN=RIGHT><font size=2><B>HOPPER LEVEL:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $HOPlev &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>LEADS IN HOPPER:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $VDhop &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>DIALABLE LEADS:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $DAleads &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=CENTER COLSPAN=2><font size=2> &nbsp; <B> TIME:</B> </TD>";
echo "</TR>";
echo "<TR>";
echo "<TD ALIGN=RIGHT><font size=2><B>CALLS TODAY:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $callsTODAY &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>CALLS DROPPED:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $dropsTODAY &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>DROPPED PERCENT:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $drpctTODAY% &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=CENTER COLSPAN=2><font size=2> &nbsp; $NOW_TIME </TD>";
echo "</TR>";
echo "<TR>";
echo "<TD ALIGN=RIGHT><font size=2><B>DIAL METHOD:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $DIALmethod &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>DL DIFF:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $diffONEMIN &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>AVG AGENTS:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $agentsONEMIN &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>STATUSES:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $DIALstatusA, $DIALstatusB, $DIALstatusC, $DIALstatusD, $DIALstatusE &nbsp; &nbsp; </TD>";
echo "</TR>";
echo "<TR>";
echo "<TD ALIGN=RIGHT><font size=2><B>LEADS IN HOPPER:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $VDhop &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>DROPPED PERCENT:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $drpctTODAY% &nbsp; &nbsp;</TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>DIFF:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $diffpctONEMIN% &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>ORDER:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $DIALorder &nbsp; &nbsp; </TD>";
echo "</TR>";
echo "</TR></TABLE>";
if ($adastats<2)
{
echo "<TR>";
echo "<TD ALIGN=LEFT COLSPAN=8><a href=\"$PHP_SELF?group=$group&RR=4&DB=$DB&adastats=2\"><font size=1>+ VIEW MORE SETTINGS</font></a></TD>";
echo "</TR>";
}
echo "</TABLE>";
echo "</FORM>\n\n";
}
@@ -329,14 +376,19 @@ $talking_to_print = mysql_num_rows($rslt);
{
$row[5]=$row[6];
}
$extension = sprintf("%-10s", $row[0]);
$extension = eregi_replace('Local/',"",$row[0]);
$extension = sprintf("%-10s", $extension);
while(strlen($extension)>10) {$extension = substr("$extension", 0, -1);}
$user = sprintf("%-6s", $row[1]);
$sessionid = sprintf("%-9s", $row[2]);
$status = sprintf("%-6s", $row[3]);
$server_ip = sprintf("%-15s", $row[4]);
$call_server_ip = sprintf("%-15s", $row[7]);
$campaign_id = sprintf("%-10s", $row[8]);
$call_time_S = ($STARTtime - $row[5]);
if (!eregi("INCALL|QUEUE",$row[3]))
{$call_time_S = ($STARTtime - $row[6]);}
else
{$call_time_S = ($STARTtime - $row[5]);}
$call_time_M = ($call_time_S / 60);
$call_time_M = round($call_time_M, 2);
@@ -240,7 +240,9 @@ $talking_to_print = mysql_num_rows($rslt);
{
$row[5]=$row[6];
}
$extension = sprintf("%-10s", $row[0]);
$extension[$i] = eregi_replace('Local/',"",$row[0]);
$extension[$i] = sprintf("%-10s", $extension[$i]);
while(strlen($extension[$i])>10) {$extension[$i] = substr("$extension[$i]", 0, -1);}
$user = sprintf("%-6s", $row[1]);
$sessionid = sprintf("%-9s", $row[2]);
$status = sprintf("%-6s", $row[3]);
+3 -3
View File
@@ -861,7 +861,7 @@ if ( ( (strlen($ADD)>4) && ($ADD < 99998) ) or ($ADD==3) or ($ADD==21) or ($ADD=
$NWB = " &nbsp; <a href=\"javascript:openNewWindow('$PHP_SELF?ADD=99999";
$NWE = "')\"><IMG SRC=\"help.gif\" WIDTH=20 HEIGHT=20 BORDER=0 ALT=\"HELP\" ALIGN=TOP></A>";
$NWE = "')\"><IMG SRC=\"../astguiclient/help.gif\" WIDTH=20 HEIGHT=20 BORDER=0 ALT=\"HELP\" ALIGN=TOP></A>";
######################
# ADD=99999 display the HELP SCREENS
######################
@@ -1819,8 +1819,8 @@ function openNewWindow(url) {
</head>
<BODY BGCOLOR=white marginheight=0 marginwidth=0 leftmargin=0 topmargin=0>
<?
echo "<!-- INTERNATIONALIZATION-LINKS-PLACEHOLDER-VICIDIAL -->\n";
?>
echo "<!-- ILPV -->\n";
echo "<TD WIDTH=100 ALIGN=RIGHT VALIGN=TOP BGCOLOR=\"#CCFFCC\" NOWRAP><a href=\"../vicidial_en/admin.php?relogin=YES&VD_login=$VD_login&VD_campaign=$VD_campaign&phone_login=$phone_login&phone_pass=$phone_pass&VD_pass=$VD_pass\">English <img src=\"../agc/images/en.gif\" BORDER=0 HEIGHT=14 WIDTH=20></a></TD>\n";echo "<TD WIDTH=100 ALIGN=RIGHT VALIGN=TOP NOWRAP><a href=\"../vicidial_es/admin.php?relogin=YES&VD_login=$VD_login&VD_campaign=$VD_campaign&phone_login=$phone_login&phone_pass=$phone_pass&VD_pass=$VD_pass\">Español <img src=\"../agc/images/es.gif\" BORDER=0 HEIGHT=14 WIDTH=20></a></TD>\n";?>
<CENTER>
<TABLE WIDTH=650 BGCOLOR=#D9E6FE cellpadding=2 cellspacing=0><TR BGCOLOR=#015B91><TD ALIGN=LEFT COLSPAN=7><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B> &nbsp; VICIDIAL ADMIN - <a href="<? echo $PHP_SELF ?>?force_logout=1"><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=1>Logout</a></TD><TD ALIGN=RIGHT COLSPAN=3><FONT FACE="ARIAL,HELVETICA" COLOR=WHITE SIZE=2><B><? echo date("l F j, Y G:i:s A") ?> &nbsp; </TD></TR>
@@ -12,6 +12,7 @@
# 60616-1006 - added listID override and gmt_offset lookup while loading
# 60619-1652 - Added variable filtering to eliminate SQL injection attack threat
# 60822-1105 - fixed for nonwritable directories
# 60906-1059 - added filter of non-digits in alt_phone field
#
# make sure vicidial_list exists and that your file follows the formatting correctly. This page does not dedupe or do any other lead filtering actions yet at this time.
#
@@ -53,7 +54,7 @@ $admDIR = "$HTTPprotocol$server_name$script_name";
$admDIR = eregi_replace('listloader.php','',$admDIR);
$admSCR = 'admin.php';
$NWB = " &nbsp; <a href=\"javascript:openNewWindow('$admDIR$admSCR?ADD=99999";
$NWE = "')\"><IMG SRC=\"help.gif\" WIDTH=20 HEIGHT=20 BORDER=0 ALT=\"HELP\" ALIGN=TOP></A>";
$NWE = "')\"><IMG SRC=\"../astguiclient/help.gif\" WIDTH=20 HEIGHT=20 BORDER=0 ALT=\"HELP\" ALIGN=TOP></A>";
$secX = date("U");
@@ -203,7 +204,7 @@ if ($leadfile and filesize($LF_path)<=8388608) {
$country = $row[16];
$gender = $row[17];
$date_of_birth = $row[18];
$alt_phone = $row[19];
$alt_phone = eregi_replace("[^0-9]", "", $row[19]);
$email = $row[20];
$security_phrase = $row[21];
$comments = trim($row[22]);
@@ -8,7 +8,6 @@
#
# changes:
# 60620-1149 - Added variable filtering to eliminate SQL injection attack threat
# 60822-1105 - fixed for nonwritable directories
#
require("dbconnect.php");
@@ -31,7 +30,7 @@ $rslt=mysql_query($stmt, $link);
$row=mysql_fetch_row($rslt);
$auth=$row[0];
if ($WeBRooTWritablE > 0) {$fp = fopen ("./project_auth_entries.txt", "a");}
$fp = fopen ("./project_auth_entries.txt", "a");
$date = date("r");
$ip = getenv("REMOTE_ADDR");
$browser = getenv("HTTP_USER_AGENT");
@@ -60,19 +59,13 @@ $browser = getenv("HTTP_USER_AGENT");
echo "You do not have permissions to load leads\n";
exit;
}
if ($WeBRooTWritablE > 0)
{
fwrite ($fp, "LIST_LOAD|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n");
fclose($fp);
}
fwrite ($fp, "LIST_LOAD|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n");
fclose($fp);
}
else
{
if ($WeBRooTWritablE > 0)
{
fwrite ($fp, "LIST_LOAD|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n");
fclose($fp);
}
fwrite ($fp, "LIST_LOAD|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n");
fclose($fp);
}
}
@@ -14,11 +14,12 @@
# 60616-1604 - added gmt lookup for each lead
# 60619-1651 - Added variable filtering to eliminate SQL injection attack threat
# 60822-1121 - fixed for nonwritable directories
# 60906-1100 - added filter of non-digits in alt_phone field
#
# make sure vicidial_list exists and that your file follows the formatting correctly. This page does not dedupe or do any other lead filtering actions yet at this time.
$version = '2.0.1';
$build = '60822-1121';
$build = '60906-1100';
require("dbconnect.php");
@@ -172,7 +173,7 @@ $admDIR = "$HTTPprotocol$server_name$script_name";
$admDIR = eregi_replace('new_listloader_superL.php','',$admDIR);
$admSCR = 'admin.php';
$NWB = " &nbsp; <a href=\"javascript:openNewWindow('$admDIR$admSCR?ADD=99999";
$NWE = "')\"><IMG SRC=\"help.gif\" WIDTH=20 HEIGHT=20 BORDER=0 ALT=\"HELP\" ALIGN=TOP></A>";
$NWE = "')\"><IMG SRC=\"../astguiclient/help.gif\" WIDTH=20 HEIGHT=20 BORDER=0 ALT=\"HELP\" ALIGN=TOP></A>";
$secX = date("U");
$hour = date("H");
@@ -370,7 +371,7 @@ function ParseFileName() {
$country_code = $row[$country_code_field];
$gender = $row[$gender_field];
$date_of_birth = $row[$date_of_birth_field];
$alt_phone = $row[$alt_phone_field];
$alt_phone = eregi_replace("[^0-9]", "", $row[$alt_phone_field]);
$email = $row[$email_field];
$security_phrase = $row[$security_phrase_field];
$comments = trim($row[$comments_field]);
@@ -479,7 +480,7 @@ function ParseFileName() {
$country_code = $row[$country_code_field];
$gender = $row[$gender_field];
$date_of_birth = $row[$date_of_birth_field];
$alt_phone = $row[$alt_phone_field];
$alt_phone = eregi_replace("[^0-9]", "", $row[$alt_phone_field]);
$email = $row[$email_field];
$security_phrase = $row[$security_phrase_field];
$comments = trim($row[$comments_field]);
@@ -607,7 +608,7 @@ if ($leadfile && filesize($LF_path)<=8388608) {
$country_code = $row[16];
$gender = $row[17];
$date_of_birth = $row[18];
$alt_phone = $row[19];
$alt_phone = eregi_replace("[^0-9]", "", $row[19]);
$email = $row[20];
$security_phrase = $row[21];
$comments = trim($row[22]);
@@ -732,7 +733,7 @@ if ($leadfile && filesize($LF_path)<=8388608) {
$country_code = $row[16];
$gender = $row[17];
$date_of_birth = $row[18];
$alt_phone = $row[19];
$alt_phone = eregi_replace("[^0-9]", "", $row[19]);
$email = $row[20];
$security_phrase = $row[21];
$comments = trim($row[22]);
@@ -7,6 +7,7 @@
#
# 60619-1714 - Added variable filtering to eliminate SQL injection attack threat
# - Added required user/pass to gain access to this page
# 60905-1326 - Added queue time stats
#
require("dbconnect.php");
@@ -117,7 +118,7 @@ $average_hold_seconds = round($average_hold_seconds, 0);
$average_hold_seconds = sprintf("%10s", $average_hold_seconds);
echo "Llamadas dentro de esta campaña $TOTALcalls\n";
echo "Longitud media para las llamadas en segundos: $average_hold_seconds\n";
echo "Average Call Length for all Calls: $average_hold_seconds seconds\n";
echo "\n";
echo "---------- DROPS\n";
@@ -136,7 +137,31 @@ $average_hold_seconds = round($average_hold_seconds, 0);
$average_hold_seconds = sprintf("%10s", $average_hold_seconds);
echo "Total DROP Calls: $DROPcalls $DROPpercent%\n";
echo "Longitud media para las llamadas DROP en segundos: $average_hold_seconds\n";
echo "Average hold time for DROP Calls: $average_hold_seconds seconds\n";
echo "\n";
echo "---------- QUEUE STATS\n";
$stmt="select count(*),sum(queue_seconds) from vicidial_closer_log where call_date >= '$query_date 00:00:01' and call_date <= '$query_date 23:59:59' and campaign_id='" . mysql_real_escape_string($group) . "' and (queue_seconds > 0);";
$rslt=mysql_query($stmt, $link);
if ($DB) {echo "$stmt\n";}
$row=mysql_fetch_row($rslt);
$QUEUEcalls = sprintf("%10s", $row[0]);
$QUEUEpercent = (($QUEUEcalls / $TOTALcalls) * 100);
$QUEUEpercent = round($QUEUEpercent, 0);
$average_queue_seconds = ($row[1] / $row[0]);
$average_queue_seconds = round($average_queue_seconds, 2);
$average_queue_seconds = sprintf("%10.2f", $average_queue_seconds);
$average_total_queue_seconds = ($row[1] / $TOTALcalls);
$average_total_queue_seconds = round($average_total_queue_seconds, 2);
$average_total_queue_seconds = sprintf("%10.2f", $average_total_queue_seconds);
echo "Total Calls That entered Queue: $QUEUEcalls $QUEUEpercent%\n";
echo "Average QUEUE Length for queue calls: $average_queue_seconds seconds\n";
echo "Average QUEUE Length across all calls: $average_total_queue_seconds seconds\n";
##############################
@@ -114,7 +114,9 @@ $talking_to_print = mysql_num_rows($rslt);
$row[5]='- ESPERANDO -';
$row[6]=$row[7];
}
$extension = sprintf("%-10s", $row[0]);
$extension = eregi_replace('Local/',"",$row[0]);
$extension = sprintf("%-10s", $extension);
while(strlen($extension)>10) {$extension = substr("$extension", 0, -1);}
$user = sprintf("%-6s", $row[1]);
$sessionid = sprintf("%-9s", $row[2]);
$channel = sprintf("%-10s", $row[3]);
@@ -132,7 +132,9 @@ $talking_to_print = mysql_num_rows($rslt);
$row[5]='- WAIT -';
$row[6]=$row[7];
}
$extension[$i] = sprintf("%-10s", $row[0]);
$extension[$i] = eregi_replace('Local/',"",$row[0]);
$extension[$i] = sprintf("%-10s", $extension[$i]);
while(strlen($extension[$i])>10) {$extension[$i] = substr("$extension[$i]", 0, -1);}
$user[$i] = sprintf("%-6s", $row[1]);
$sessionid[$i] = sprintf("%-9s", $row[2]);
$channel[$i] = sprintf("%-19s", $row[3]);
@@ -14,6 +14,8 @@
# 60619-1658 - Added variable filtering to eliminate SQL injection attack threat
# - Added required user/pass to gain access to this page
# 60626-1453 - Added display of system load to bottom (Angelito Manansala)
# 60901-1123 - Changed display elements at the top of the screen
# 60905-1342 - Fixed non INCALL|QUEUE timer column
#
header ("Content-type: text/html; charset=utf-8");
@@ -23,20 +25,22 @@ 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["server_ip"])) {$server_ip=$_GET["server_ip"];}
elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];}
if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];}
elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];}
if (isset($_GET["reset_counter"])) {$reset_counter=$_GET["reset_counter"];}
elseif (isset($_POST["reset_counter"])) {$reset_counter=$_POST["reset_counter"];}
if (isset($_GET["RR"])) {$RR=$_GET["RR"];}
if (isset($_GET["RR"])) {$RR=$_GET["RR"];}
elseif (isset($_POST["RR"])) {$RR=$_POST["RR"];}
if (isset($_GET["group"])) {$group=$_GET["group"];}
elseif (isset($_POST["group"])) {$group=$_POST["group"];}
if (isset($_GET["DB"])) {$DB=$_GET["DB"];}
if (isset($_GET["DB"])) {$DB=$_GET["DB"];}
elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];}
if (isset($_GET["adastats"])) {$adastats=$_GET["adastats"];}
elseif (isset($_POST["adastats"])) {$adastats=$_POST["adastats"];}
if (isset($_GET["submit"])) {$submit=$_GET["submit"];}
elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];}
elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];}
if (isset($_GET["ENVIAR"])) {$ENVIAR=$_GET["ENVIAR"];}
elseif (isset($_POST["ENVIAR"])) {$ENVIAR=$_POST["ENVIAR"];}
elseif (isset($_POST["ENVIAR"])) {$ENVIAR=$_POST["ENVIAR"];}
if (!isset($group)) {$group='';}
@@ -156,12 +160,13 @@ if ($reset_counter > 7)
<?
echo "<META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=utf-8\">\n";
echo"<META HTTP-EQUIV=Refresh CONTENT=\"$RR; URL=$PHP_SELF?RR=$RR&DB=$DB&group=$group\">\n";
echo"<META HTTP-EQUIV=Refresh CONTENT=\"$RR; URL=$PHP_SELF?RR=$RR&DB=$DB&group=$group&adastats=$adastats\">\n";
echo "<TITLE>VICIDIAL: Time On VDAD Campaña: $group</TITLE></HEAD><BODY BGCOLOR=WHITE>\n";
echo "<FORM ACTION=\"$PHP_SELF\" METHOD=GET>\n";
echo "VICIDIAL: Realtime Campaña: \n";
echo "<INPUT TYPE=HIDDEN NAME=RR VALUE=4>\n";
echo "<INPUT TYPE=HIDDEN NAME=DB VALUE=\"$DB\">\n";
echo "<INPUT TYPE=HIDDEN NAME=adastats VALUE=\"$adastats\">\n";
echo "<SELECT SIZE=1 NAME=group>\n";
$o=0;
while ($groups_to_print > $o)
@@ -172,7 +177,7 @@ echo "<SELECT SIZE=1 NAME=group>\n";
}
echo "</SELECT>\n";
echo "<INPUT type=submit NAME=ENVIAR VALUE=ENVIAR><FONT FACE=\"ARIAL,HELVETICA\" COLOR=BLACK SIZE=2> &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>";
echo "<a href=\"$PHP_SELF?group=$group&RR=40&DB=$DB&adastats=$adastats\">STOP</a> | <a href=\"$PHP_SELF?group=$group&RR=4&DB=$DB&adastats=$adastats\">GO</a>";
echo " &nbsp; &nbsp; &nbsp; &nbsp; <a href=\"./admin.php?ADD=34&campaign_id=$group\">MODIFICAR</a> | <a href=\"./server_stats.php\">INFORMES</a> </FONT>\n";
echo "\n\n";
@@ -180,18 +185,27 @@ echo "\n\n";
if (!$group) {echo "<BR><BR>please select a campaign from the pulldown above</FORM>\n"; exit;}
else
{
$stmt="select auto_dial_level,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,lead_filter_id,hopper_level,dial_method from vicidial_campaigns where campaign_id='" . mysql_real_escape_string($group) . "';";
$stmt="select auto_dial_level,dial_status_a,dial_status_b,dial_status_c,dial_status_d,dial_status_e,lead_order,lead_filter_id,hopper_level,dial_method,adaptive_maximum_level,adaptive_dropped_percentage,adaptive_dl_diff_target,adaptive_intensity,available_only_ratio_tally,adaptive_latest_server_time,local_call_time,dial_timeout from vicidial_campaigns where campaign_id='" . mysql_real_escape_string($group) . "';";
$rslt=mysql_query($stmt, $link);
$row=mysql_fetch_row($rslt);
$HOPlev = $row[8];
$DIALmethod = $row[9];
echo "<BR><table cellpadding=0 cellspacing=0><TR>";
echo "<TD ALIGN=RIGHT><font size=2><B>DIAL LEVEL:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $row[0]&nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>STATUSES:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $row[1], $row[2], $row[3], $row[4], $row[5] &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>ORDER:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $row[6] &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>FILTER:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $row[7] &nbsp; &nbsp; </TD>";
echo "</TR>";
$DIALlev = $row[0];
$DIALstatusA = $row[1];
$DIALstatusB = $row[2];
$DIALstatusC = $row[3];
$DIALstatusD = $row[4];
$DIALstatusE = $row[5];
$DIALorder = $row[6];
$DIALfilter = $row[7];
$HOPlev = $row[8];
$DIALmethod = $row[9];
$maxDIALlev = $row[10];
$DROPmax = $row[11];
$targetDIFF = $row[12];
$ADAintense = $row[13];
$ADAavailonly = $row[14];
$TAPERtime = $row[15];
$CALLtime = $row[16];
$DIALtimeout = $row[17];
$stmt="select count(*) from vicidial_hopper where campaign_id='" . mysql_real_escape_string($group) . "';";
$rslt=mysql_query($stmt, $link);
@@ -214,26 +228,59 @@ if ( ($diffONEMIN != 0) and ($agentsONEMIN > 0) )
}
else {$diffpctONEMIN = '0.00';}
echo "<BR><table cellpadding=0 cellspacing=0><TR>";
echo "<TD ALIGN=RIGHT><font size=2><B>DIAL LEVEL:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $DIALlev&nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>FILTER:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $DIALfilter &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT COLSPAN=2><font size=2><B> TIME:</B> &nbsp; </TD>";
echo "<TD ALIGN=LEFT COLSPAN=2><font size=2> $NOW_TIME </TD>";
echo "</TR>";
if ($adastats>1)
{
echo "<TR BGCOLOR=\"#CCCCCC\">";
echo "<TD ALIGN=RIGHT><a href=\"$PHP_SELF?group=$group&RR=4&DB=$DB&adastats=1\"><font size=1>- min </font></a><font size=2>&nbsp; <B>MAX LEVEL:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $maxDIALlev &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>DROPPED MAX:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $DROPmax% &nbsp; &nbsp;</TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>TARGET DIFF:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $targetDIFF &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>INTENSITY:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $ADAintense &nbsp; &nbsp; </TD>";
echo "</TR>";
echo "<TR BGCOLOR=\"#CCCCCC\">";
echo "<TD ALIGN=RIGHT><font size=2><B>DIAL TIMEOUT:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $DIALtimeout &nbsp;</TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>TAPER TIME:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $TAPERtime &nbsp;</TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>LOCAL TIME:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $CALLtime &nbsp;</TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>AVAIL ONLY:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $ADAavailonly &nbsp;</TD>";
echo "</TR>";
}
echo "<TR>";
echo "<TD ALIGN=RIGHT><font size=2><B>DIALABLE LEADS:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $DAleads &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>CALLS TODAY:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $callsTODAY &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>AVG AGENTS:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $agentsONEMIN &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>DIAL METHOD:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $DIALmethod &nbsp; &nbsp; </TD>";
echo "</TR>";
echo "<TR>";
echo "<TD ALIGN=RIGHT><font size=2><B>HOPPER LEVEL:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $HOPlev &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>LEADS IN HOPPER:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $VDhop &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>DIALABLE LEADS:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $DAleads &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=CENTER COLSPAN=2><font size=2> &nbsp; <B> TIME:</B> </TD>";
echo "</TR>";
echo "<TR>";
echo "<TD ALIGN=RIGHT><font size=2><B>CALLS TODAY:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $callsTODAY &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>CALLS DROPPED:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $dropsTODAY &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>DROPPED PERCENT:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $drpctTODAY% &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=CENTER COLSPAN=2><font size=2> &nbsp; $NOW_TIME </TD>";
echo "</TR>";
echo "<TR>";
echo "<TD ALIGN=RIGHT><font size=2><B>DIAL METHOD:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $DIALmethod &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>DL DIFF:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $diffONEMIN &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>AVG AGENTS:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $agentsONEMIN &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>STATUSES:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $DIALstatusA, $DIALstatusB, $DIALstatusC, $DIALstatusD, $DIALstatusE &nbsp; &nbsp; </TD>";
echo "</TR>";
echo "<TR>";
echo "<TD ALIGN=RIGHT><font size=2><B>LEADS IN HOPPER:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $VDhop &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>DROPPED PERCENT:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $drpctTODAY% &nbsp; &nbsp;</TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>DIFF:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $diffpctONEMIN% &nbsp; &nbsp; </TD>";
echo "<TD ALIGN=RIGHT><font size=2><B>ORDER:</B></TD><TD ALIGN=LEFT><font size=2>&nbsp; $DIALorder &nbsp; &nbsp; </TD>";
echo "</TR>";
echo "</TR></TABLE>";
if ($adastats<2)
{
echo "<TR>";
echo "<TD ALIGN=LEFT COLSPAN=8><a href=\"$PHP_SELF?group=$group&RR=4&DB=$DB&adastats=2\"><font size=1>+ VIEW MORE SETTINGS</font></a></TD>";
echo "</TR>";
}
echo "</TABLE>";
echo "</FORM>\n\n";
}
@@ -329,14 +376,19 @@ $talking_to_print = mysql_num_rows($rslt);
{
$row[5]=$row[6];
}
$extension = sprintf("%-10s", $row[0]);
$extension = eregi_replace('Local/',"",$row[0]);
$extension = sprintf("%-10s", $extension);
while(strlen($extension)>10) {$extension = substr("$extension", 0, -1);}
$user = sprintf("%-6s", $row[1]);
$sessionid = sprintf("%-9s", $row[2]);
$status = sprintf("%-6s", $row[3]);
$server_ip = sprintf("%-15s", $row[4]);
$call_server_ip = sprintf("%-15s", $row[7]);
$campaign_id = sprintf("%-10s", $row[8]);
$call_time_S = ($STARTtime - $row[5]);
if (!eregi("INCALL|QUEUE",$row[3]))
{$call_time_S = ($STARTtime - $row[6]);}
else
{$call_time_S = ($STARTtime - $row[5]);}
$call_time_M = ($call_time_S / 60);
$call_time_M = round($call_time_M, 2);
@@ -16,6 +16,8 @@
# - Added extended pause (exceeding 60 seconds -> 20 minutes) (Magma Networks LLC)
# - Added Full Name Field to extract from Database (Magma Networks LLC)
# - Added Barge Link (Magma Networks LLC)
# 60731-1138 - fixed fullname formatting
header ("Content-type: text/html; charset=utf-8");
require("dbconnect.php");
@@ -104,9 +106,9 @@ if ($reset_counter > 7)
<?
echo "<META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=utf-8\">\n";
echo"<META HTTP-EQUIV=Refresh CONTENT=\"$RR; URL=$PHP_SELF?RR=$RR&DB=$DB&group=$group\">\n";
echo "<TITLE>VF DIALER: Time On VDAD Campaña: $group</TITLE></HEAD><BODY BGCOLOR=WHITE>\n";
echo "<TITLE>VICIDIAL: Time On VDAD Campaña: $group</TITLE></HEAD><BODY BGCOLOR=WHITE>\n";
echo "<FORM ACTION=\"$PHP_SELF\" METHOD=GET>\n";
echo "VF DIALER: Realtime Campaña: \n";
echo "VICIDIAL: Realtime Campaña: \n";
echo "<INPUT TYPE=HIDDEN NAME=RR VALUE=4>\n";
echo "<INPUT TYPE=HIDDEN NAME=DB VALUE=\"$DB\">\n";
echo "<SELECT SIZE=1 NAME=group>\n";
@@ -238,7 +240,9 @@ $talking_to_print = mysql_num_rows($rslt);
{
$row[5]=$row[6];
}
$extension = sprintf("%-10s", $row[0]);
$extension[$i] = eregi_replace('Local/',"",$row[0]);
$extension[$i] = sprintf("%-10s", $extension[$i]);
while(strlen($extension[$i])>10) {$extension[$i] = substr("$extension[$i]", 0, -1);}
$user = sprintf("%-6s", $row[1]);
$sessionid = sprintf("%-9s", $row[2]);
$status = sprintf("%-6s", $row[3]);
@@ -319,8 +323,3 @@ $talking_to_print = mysql_num_rows($rslt);
</PRE>
</BODY></HTML>
@@ -11,12 +11,14 @@
# 60421-1043 - check GET/POST vars lines with isset to not trigger PHP NOTICES
# 60616-1006 - added listID override and gmt_offset lookup while loading
# 60619-1652 - Added variable filtering to eliminate SQL injection attack threat
# 60822-1105 - fixed for nonwritable directories
# 60906-1059 - added filter of non-digits in alt_phone field
#
# make sure vicidial_list exists and that your file follows the formatting correctly. This page does not dedupe or do any other lead filtering actions yet at this time.
#
$version = '1.1.12';
$build = '60619-1652';
$version = '2.0.1';
$build = '60822-1105';
header ("Content-type: text/html; charset=utf-8");
@@ -142,8 +144,16 @@ function ShowProgress(good, bad, total) {
if ($leadfile and filesize($LF_path)<=8388608) {
print "<script language='JavaScript1.2'>document.forms[0].leadfile.disabled=true; document.forms[0].submit_file.disabled=true; document.forms[0].reload_page.disabled=true;</script>";
flush();
copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.txt");
$file=fopen("$WeBServeRRooT/vicidial/vicidial_temp_file.txt", "r");
if ($WeBRooTWritablE > 0)
{
copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.txt");
$lead_file = "./vicidial_temp_file.txt";
}
else
{
$lead_file = "$LF_path";
}
$file=fopen("$lead_file", "r");
if ($WeBRooTWritablE > 0)
{$stmt_file=fopen("$WeBServeRRooT/vicidial/listloader_stmts.txt", "w");}
$pulldate=date("Y-m-d H:i:s");
@@ -157,7 +167,7 @@ if ($leadfile and filesize($LF_path)<=8388608) {
if (count($field_check)>=5) {
flush();
$file=fopen("./vicidial_temp_file.txt", "r");
$file=fopen("$lead_file", "r");
$total=0; $good=0; $bad=0;
print "<center><font face='arial, helvetica' size=3 color='#009900'><B>Procesando$delim_name-delimited file... ($tab_count|$pipe_count)\n";
@@ -194,12 +204,12 @@ if ($leadfile and filesize($LF_path)<=8388608) {
$country = $row[16];
$gender = $row[17];
$date_of_birth = $row[18];
$alt_phone = $row[19];
$alt_phone = eregi_replace("[^0-9]", "", $row[19]);
$email = $row[20];
$security_phrase = $row[21];
$comments = trim($row[22]);
if (strlen($phone_number)>8)
if (strlen($phone_number)>6)
{
$entry_date = "$pulldate";
$modify_date = "";
@@ -13,11 +13,13 @@
# 60616-1240 - added listID override
# 60616-1604 - added gmt lookup for each lead
# 60619-1651 - Added variable filtering to eliminate SQL injection attack threat
# 60822-1121 - fixed for nonwritable directories
# 60906-1100 - added filter of non-digits in alt_phone field
#
# make sure vicidial_list exists and that your file follows the formatting correctly. This page does not dedupe or do any other lead filtering actions yet at this time.
$version = '1.1.12-1';
$build = '60619-1651';
$version = '2.0.1';
$build = '60906-1100';
require("dbconnect.php");
@@ -94,6 +96,8 @@ if (isset($_GET["comments_field"])) {$comments_field=$_GET["comments_field"];
if (isset($_GET["list_id_override"])) {$list_id_override=$_GET["list_id_override"];}
elseif (isset($_POST["list_id_override"])) {$list_id_override=$_POST["list_id_override"];}
$list_id_override = (preg_replace("/\D/","",$list_id_override));
if (isset($_GET["lead_file"])) {$lead_file=$_GET["lead_file"];}
elseif (isset($_POST["lead_file"])) {$lead_file=$_POST["lead_file"];}
# $country_field=$_GET["country_field"]; if (!$country_field) {$country_field=$_POST["country_field"];}
@@ -114,7 +118,7 @@ $rslt=mysql_query($stmt, $link);
$row=mysql_fetch_row($rslt);
$auth=$row[0];
$fp = fopen ("./project_auth_entries.txt", "a");
if ($WeBRooTWritablE > 0) {$fp = fopen ("./project_auth_entries.txt", "a");}
$date = date("r");
$ip = getenv("REMOTE_ADDR");
$browser = getenv("HTTP_USER_AGENT");
@@ -143,13 +147,19 @@ $browser = getenv("HTTP_USER_AGENT");
echo "You do not have permissions to load leads\n";
exit;
}
fwrite ($fp, "LIST_LOAD|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n");
fclose($fp);
if ($WeBRooTWritablE > 0)
{
fwrite ($fp, "LIST_LOAD|GOOD|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|$LOGfullname|\n");
fclose($fp);
}
}
else
{
fwrite ($fp, "LIST_LOAD|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n");
fclose($fp);
if ($WeBRooTWritablE > 0)
{
fwrite ($fp, "LIST_LOAD|FAIL|$date|$PHP_AUTH_USER|$PHP_AUTH_PW|$ip|$browser|\n");
fclose($fp);
}
}
}
@@ -303,9 +313,11 @@ function ParseFileName() {
if (!eregi(".csv", $leadfile_name) && !eregi(".xls", $leadfile_name)) {
# copy($leadfile, "./vicidial_temp_file.txt");
$file=fopen("$WeBServeRRooT/vicidial/vicidial_temp_file.txt", "r");
$stmt_file=fopen("listloader_stmts.txt", "w");
$file=fopen("$lead_file", "r");
if ($WeBRooTWritablE > 0)
{
$stmt_file=fopen("listloader_stmts.txt", "w");
}
$buffer=fgets($file, 4096);
$tab_count=substr_count($buffer, "\t");
$pipe_count=substr_count($buffer, "|");
@@ -315,7 +327,7 @@ function ParseFileName() {
if (count($field_check)>=5) {
flush();
$file=fopen("$WeBServeRRooT/vicidial/vicidial_temp_file.txt", "r");
$file=fopen("$lead_file", "r");
print "<center><font face='arial, helvetica' size=3 color='#009900'><B>Procesando$delim_name-delimited file...\n";
if (strlen($list_id_override)>0)
@@ -359,12 +371,12 @@ function ParseFileName() {
$country_code = $row[$country_code_field];
$gender = $row[$gender_field];
$date_of_birth = $row[$date_of_birth_field];
$alt_phone = $row[$alt_phone_field];
$alt_phone = eregi_replace("[^0-9]", "", $row[$alt_phone_field]);
$email = $row[$email_field];
$security_phrase = $row[$security_phrase_field];
$comments = trim($row[$comments_field]);
if (strlen($phone_number)>8) {
if (strlen($phone_number)>6) {
if (strlen($list_id_override)>0)
@@ -416,19 +428,21 @@ function ParseFileName() {
}
} else if (!eregi(".csv", $leadfile_name)) {
# copy($leadfile, "./vicidial_temp_file.xls");
$file=fopen("$WeBServeRRooT/vicidial/vicidial_temp_file.xls", "r");
$file=fopen("$lead_file", "r");
print "<center><font face='arial, helvetica' size=3 color='#009900'><B>ProcesandoExcel file... \n";
if (strlen($list_id_override)>0)
{
print "<BR><BR>ID DE LA LISTA OVERRIDE FOR THIS FILE: $list_id_override<BR><BR>\n";
}
# print "$WeBServeRRooT/vicidial/listloader_super.pl $vendor_lead_code_field,$source_id_field,$list_id_field,$phone_code_field,$phone_number_field,$title_field,$first_name_field,$middle_initial_field,$last_name_field,$address1_field,$address2_field,$address3_field,$city_field,$state_field,$province_field,$postal_code_field,$country_code_field,$gender_field,$date_of_birth_field,$alt_phone_field,$email_field,$security_phrase_field,$comments_field";
passthru("$WeBServeRRooT/vicidial/listloader_super.pl $vendor_lead_code_field,$source_id_field,$list_id_field,$phone_code_field,$phone_number_field,$title_field,$first_name_field,$middle_initial_field,$last_name_field,$address1_field,$address2_field,$address3_field,$city_field,$state_field,$province_field,$postal_code_field,$country_code_field,$gender_field,$date_of_birth_field,$alt_phone_field,$email_field,$security_phrase_field,$comments_field, --forcelistid=$list_id_override");
# print "|$WeBServeRRooT/vicidial/listloader_super.pl $vendor_lead_code_field,$source_id_field,$list_id_field,$phone_code_field,$phone_number_field,$title_field,$first_name_field,$middle_initial_field,$last_name_field,$address1_field,$address2_field,$address3_field,$city_field,$state_field,$province_field,$postal_code_field,$country_code_field,$gender_field,$date_of_birth_field,$alt_phone_field,$email_field,$security_phrase_field,$comments_field, --forcelistid=$list_id_override --lead_file=$lead_file|";
passthru("$WeBServeRRooT/vicidial/listloader_super.pl $vendor_lead_code_field,$source_id_field,$list_id_field,$phone_code_field,$phone_number_field,$title_field,$first_name_field,$middle_initial_field,$last_name_field,$address1_field,$address2_field,$address3_field,$city_field,$state_field,$province_field,$postal_code_field,$country_code_field,$gender_field,$date_of_birth_field,$alt_phone_field,$email_field,$security_phrase_field,$comments_field, --forcelistid=$list_id_override --lead-file=$lead_file");
} else {
# copy($leadfile, "./vicidial_temp_file.csv");
$file=fopen("$WeBServeRRooT/vicidial/vicidial_temp_file.csv", "r");
$stmt_file=fopen("listloader_stmts.txt", "w");
$file=fopen("$lead_file", "r");
if ($WeBRooTWritablE > 0)
{$stmt_file=fopen("$WeBServeRRooT/vicidial/listloader_stmts.txt", "w");}
print "<center><font face='arial, helvetica' size=3 color='#009900'><B>ProcesandoCSV file... \n";
if (strlen($list_id_override)>0)
@@ -466,12 +480,12 @@ function ParseFileName() {
$country_code = $row[$country_code_field];
$gender = $row[$gender_field];
$date_of_birth = $row[$date_of_birth_field];
$alt_phone = $row[$alt_phone_field];
$alt_phone = eregi_replace("[^0-9]", "", $row[$alt_phone_field]);
$email = $row[$email_field];
$security_phrase = $row[$security_phrase_field];
$comments = trim($row[$comments_field]);
if (strlen($phone_number)>8) {
if (strlen($phone_number)>6) {
if (strlen($list_id_override)>0)
{
@@ -528,9 +542,18 @@ if ($leadfile && filesize($LF_path)<=8388608) {
if (!eregi(".csv", $leadfile_name) && !eregi(".xls", $leadfile_name)) {
copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.txt");
$file=fopen("$WeBServeRRooT/vicidial/vicidial_temp_file.txt", "r");
if ($WeBRooTWritablE > 0)
if ($WeBRooTWritablE > 0)
{
copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.txt");
$lead_file = "./vicidial_temp_file.txt";
}
else
{
copy($LF_path, "/tmp/vicidial_temp_file.txt");
$lead_file = "/tmp/vicidial_temp_file.txt";
}
$file=fopen("$lead_file", "r");
if ($WeBRooTWritablE > 0)
{$stmt_file=fopen("$WeBServeRRooT/vicidial/listloader_stmts.txt", "w");}
$buffer=fgets($file, 4096);
@@ -542,7 +565,7 @@ if ($leadfile && filesize($LF_path)<=8388608) {
if (count($field_check)>=5) {
flush();
$file=fopen("$WeBServeRRooT/vicidial/vicidial_temp_file.txt", "r");
$file=fopen("$lead_file", "r");
$total=0; $good=0; $bad=0;
print "<center><font face='arial, helvetica' size=3 color='#009900'><B>Procesando$delim_name-delimited file... ($tab_count|$pipe_count)\n";
if (strlen($list_id_override)>0)
@@ -585,12 +608,12 @@ if ($leadfile && filesize($LF_path)<=8388608) {
$country_code = $row[16];
$gender = $row[17];
$date_of_birth = $row[18];
$alt_phone = $row[19];
$alt_phone = eregi_replace("[^0-9]", "", $row[19]);
$email = $row[20];
$security_phrase = $row[21];
$comments = trim($row[22]);
if (strlen($phone_number)>8) {
if (strlen($phone_number)>6) {
if (strlen($list_id_override)>0)
{
@@ -640,15 +663,39 @@ if ($leadfile && filesize($LF_path)<=8388608) {
} else {
print "<center><font face='arial, helvetica' size=3 color='#990000'><B>ERROR: El archivo no tiene el número requerido de los campos para procesarlo.</B></font></center>";
}
} else if (!eregi(".csv", $leadfile_name)) {
copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.xls");
$file=fopen("$WeBServeRRooT/vicidial/vicidial_temp_file.xls", "r");
} else if (!eregi(".csv", $leadfile_name))
{
if ($WeBRooTWritablE > 0)
{
copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.xls");
$lead_file = "$WeBServeRRooT/vicidial/vicidial_temp_file.xls";
}
else
{
copy($LF_path, "/tmp/vicidial_temp_file.xls");
$lead_file = "/tmp/vicidial_temp_file.xls";
}
$file=fopen("$lead_file", "r");
passthru("$WeBServeRRooT/vicidial/listloader.pl --forcelistid=$list_id_override");
} else {
copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.csv");
$file=fopen("$WeBServeRRooT/vicidial/vicidial_temp_file.csv", "r");
$stmt_file=fopen("listloader_stmts.txt", "w");
# echo "|$WeBServeRRooT/vicidial/listloader.pl --forcelistid=$list_id_override --lead-file=$lead_file|";
passthru("$WeBServeRRooT/vicidial/listloader.pl --forcelistid=$list_id_override --lead-file=$lead_file");
}
else
{
if ($WeBRooTWritablE > 0)
{
copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.csv");
$lead_file = "$WeBServeRRooT/vicidial/vicidial_temp_file.csv";
}
else
{
copy($LF_path, "/tmp/vicidial_temp_file.csv");
$lead_file = "/tmp/vicidial_temp_file.csv";
}
$file=fopen("$lead_file", "r");
if ($WeBRooTWritablE > 0)
{$stmt_file=fopen("$WeBServeRRooT/vicidial/listloader_stmts.txt", "w");}
print "<center><font face='arial, helvetica' size=3 color='#009900'><B>ProcesandoCSV file... \n";
@@ -686,12 +733,12 @@ if ($leadfile && filesize($LF_path)<=8388608) {
$country_code = $row[16];
$gender = $row[17];
$date_of_birth = $row[18];
$alt_phone = $row[19];
$alt_phone = eregi_replace("[^0-9]", "", $row[19]);
$email = $row[20];
$security_phrase = $row[21];
$comments = trim($row[22]);
if (strlen($phone_number)>8) {
if (strlen($phone_number)>6) {
if (strlen($list_id_override)>0)
{
@@ -752,10 +799,21 @@ if ($leadfile && filesize($LF_path)<=8388608) {
$rslt=mysql_query("select vendor_lead_code, source_id, list_id, phone_code, phone_number, title, first_name, middle_initial, last_name, address1, address2, address3, city, state, province, postal_code, country_code, gender, date_of_birth, alt_phone, email, security_phrase, comments from vicidial_list limit 1", $link);
if (!eregi(".csv", $leadfile_name) && !eregi(".xls", $leadfile_name)) {
copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.txt");
$file=fopen("$WeBServeRRooT/vicidial/vicidial_temp_file.txt", "r");
$stmt_file=fopen("listloader_stmts.txt", "w");
if (!eregi(".csv", $leadfile_name) && !eregi(".xls", $leadfile_name))
{
if ($WeBRooTWritablE > 0)
{
copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.txt");
$lead_file = "$WeBServeRRooT/vicidial/vicidial_temp_file.txt";
}
else
{
copy($LF_path, "/tmp/vicidial_temp_file.txt");
$lead_file = "/tmp/vicidial_temp_file.txt";
}
$file=fopen("$lead_file", "r");
if ($WeBRooTWritablE > 0)
{$stmt_file=fopen("$WeBServeRRooT/vicidial/listloader_stmts.txt", "w");}
$buffer=fgets($file, 4096);
$tab_count=substr_count($buffer, "\t");
@@ -764,7 +822,7 @@ if ($leadfile && filesize($LF_path)<=8388608) {
if ($tab_count>$pipe_count) {$delimiter="\t"; $delim_name="tab";} else {$delimiter="|"; $delim_name="pipe";}
$field_check=explode($delimiter, $buffer);
flush();
$file=fopen("$WeBServeRRooT/vicidial/vicidial_temp_file.txt", "r");
$file=fopen("$lead_file", "r");
print "<center><font face='arial, helvetica' size=3 color='#009900'><B>Procesando$delim_name-delimited file...\n";
if (strlen($list_id_override)>0)
@@ -826,13 +884,39 @@ if ($leadfile && filesize($LF_path)<=8388608) {
#print " </td>\r\n";
#print " </tr>\r\n";
}
} else if (!eregi(".csv", $leadfile_name)) {
copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.xls");
passthru("$WeBServeRRooT/vicidial/listloader_rowdisplay.pl");
} else {
copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.csv");
$file=fopen("$WeBServeRRooT/vicidial/vicidial_temp_file.csv", "r");
$stmt_file=fopen("listloader_stmts.txt", "w");
}
else if (!eregi(".csv", $leadfile_name))
{
if ($WeBRooTWritablE > 0)
{
copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.xls");
$lead_file = "$WeBServeRRooT/vicidial/vicidial_temp_file.xls";
}
else
{
copy($LF_path, "/tmp/vicidial_temp_file.xls");
$lead_file = "/tmp/vicidial_temp_file.xls";
}
# echo "|$WeBServeRRooT/vicidial/listloader_rowdisplay.pl --lead-file=$lead_file|";
passthru("$WeBServeRRooT/vicidial/listloader_rowdisplay.pl --lead-file=$lead_file");
}
else
{
if ($WeBRooTWritablE > 0)
{
copy($LF_path, "$WeBServeRRooT/vicidial/vicidial_temp_file.csv");
$lead_file = "$WeBServeRRooT/vicidial/vicidial_temp_file.csv";
}
else
{
copy($LF_path, "/tmp/vicidial_temp_file.csv");
$lead_file = "/tmp/vicidial_temp_file.csv";
}
$file=fopen("$lead_file", "r");
if ($WeBRooTWritablE > 0)
{$stmt_file=fopen("$WeBServeRRooT/vicidial/listloader_stmts.txt", "w");}
print "<center><font face='arial, helvetica' size=3 color='#009900'><B>ProcesandoCSV file... \n";
@@ -895,6 +979,7 @@ if ($leadfile && filesize($LF_path)<=8388608) {
}
}
print " <tr bgcolor='#330099'>\r\n";
print " <input type=hidden name=lead_file value=\"$lead_file\">\r\n";
print " <input type=hidden name=list_id_override value=\"$list_id_override\">\r\n";
print " <th colspan=2><input type=submit name='OK_to_process' value='ACEPTABLE PROCESAR'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=button onClick=\"javascript:document.location='new_listloader_superL.php'\" value=\"RECARGAR\" name='reload_page'></th>\r\n";
print " </tr>\r\n";