LICENSE: AGPLv2
#
# This script is designed to allow QC review and modification of leads, contributed by poundteam.com
#
# changes:
# 121116-1324 - First build, added to vicidial codebase
# 121130-1034 - Changed scheduled callback user ID field to be 20 characters, issue #467
# 130621-2328 - Finalized changing of all ereg instances to preg
# - Added filtering of input to prevent SQL injection attacks and new user auth
# 130902-0904 - Changed to mysqli PHP functions, fixes for issue #699
# 140706-0837 - Incorporated into standard admin code
# 141007-2152 - Finalized adding QXZ translation to all admin files
# 141128-0902 - Code cleanup for QXZ functions
# 141229-1742 - Added code for on-the-fly language translations display
# 150808-1437 - Added compatibility for custom fields data options
# 150908-1531 - Fixed input lengths for several standard fields to match DB
# 150917-1311 - Added dynamic default field maxlengths based on DB schema
# 160611-1217 - Fixed for external server IP recording link issue
# 170409-1542 - Added IP List validation code
# 170513-2256 - Added QC Webform, issue #1010
# 170527-2252 - Fix for rare inbound logging issue #1017
# 171001-1110 - Added in-browser audio control, if recording access control is disabled
# 210304-1650 - Added modify_leads=5 read-only option
# 210306-0854 - Redesign of QC module
# 210827-1818 - Fix for security issue
# 220224-2143 - Added allow_web_debug system setting
#
require("dbconnect_mysqli.php");
require("functions.php");
$PHP_AUTH_USER=$_SERVER['PHP_AUTH_USER'];
$PHP_AUTH_PW=$_SERVER['PHP_AUTH_PW'];
$PHP_SELF=$_SERVER['PHP_SELF'];
$PHP_SELF = preg_replace('/\.php.*/i','.php',$PHP_SELF);
if (isset($_GET["vendor_id"])) {$vendor_id=$_GET["vendor_id"];}
elseif (isset($_POST["vendor_id"])) {$vendor_id=$_POST["vendor_id"];}
if (isset($_GET["phone"])) {$phone=$_GET["phone"];}
elseif (isset($_POST["phone"])) {$phone=$_POST["phone"];}
if (isset($_GET["old_phone"])) {$old_phone=$_GET["old_phone"];}
elseif (isset($_POST["old_phone"])) {$old_phone=$_POST["old_phone"];}
if (isset($_GET["lead_id"])) {$lead_id=$_GET["lead_id"];}
elseif (isset($_POST["lead_id"])) {$lead_id=$_POST["lead_id"];}
if (isset($_GET["title"])) {$title=$_GET["title"];}
elseif (isset($_POST["title"])) {$title=$_POST["title"];}
if (isset($_GET["first_name"])) {$first_name=$_GET["first_name"];}
elseif (isset($_POST["first_name"])) {$first_name=$_POST["first_name"];}
if (isset($_GET["middle_initial"])) {$middle_initial=$_GET["middle_initial"];}
elseif (isset($_POST["middle_initial"])) {$middle_initial=$_POST["middle_initial"];}
if (isset($_GET["last_name"])) {$last_name=$_GET["last_name"];}
elseif (isset($_POST["last_name"])) {$last_name=$_POST["last_name"];}
if (isset($_GET["lead_name"])) {$lead_name=$_GET["lead_name"];}
elseif (isset($_POST["lead_name"])) {$lead_name=$_POST["lead_name"];}
if (isset($_GET["phone_number"])) {$phone_number=$_GET["phone_number"];}
elseif (isset($_POST["phone_number"])) {$phone_number=$_POST["phone_number"];}
if (isset($_GET["end_call"])) {$end_call=$_GET["end_call"];}
elseif (isset($_POST["end_call"])) {$end_call=$_POST["end_call"];}
if (isset($_GET["DB"])) {$DB=$_GET["DB"];}
elseif (isset($_POST["DB"])) {$DB=$_POST["DB"];}
if (isset($_GET["dispo"])) {$dispo=$_GET["dispo"];}
elseif (isset($_POST["dispo"])) {$dispo=$_POST["dispo"];}
if (isset($_GET["list_id"])) {$list_id=$_GET["list_id"];}
elseif (isset($_POST["list_id"])) {$list_id=$_POST["list_id"];}
if (isset($_GET["campaign_id"])) {$campaign_id=$_GET["campaign_id"];}
elseif (isset($_POST["campaign_id"])) {$campaign_id=$_POST["campaign_id"];}
if (isset($_GET["group_id"])) {$group_id=$_GET["group_id"];}
elseif (isset($_POST["group_id"])) {$group_id=$_POST["group_id"];}
if (isset($_GET["phone_code"])) {$phone_code=$_GET["phone_code"];}
elseif (isset($_POST["phone_code"])) {$phone_code=$_POST["phone_code"];}
if (isset($_GET["server_ip"])) {$server_ip=$_GET["server_ip"];}
elseif (isset($_POST["server_ip"])) {$server_ip=$_POST["server_ip"];}
if (isset($_GET["extension"])) {$extension=$_GET["extension"];}
elseif (isset($_POST["extension"])) {$extension=$_POST["extension"];}
if (isset($_GET["channel"])) {$channel=$_GET["channel"];}
elseif (isset($_POST["channel"])) {$channel=$_POST["channel"];}
if (isset($_GET["call_began"])) {$call_began=$_GET["call_began"];}
elseif (isset($_POST["call_began"])) {$call_began=$_POST["call_began"];}
if (isset($_GET["parked_time"])) {$parked_time=$_GET["parked_time"];}
elseif (isset($_POST["parked_time"])) {$parked_time=$_POST["parked_time"];}
if (isset($_GET["tsr"])) {$tsr=$_GET["tsr"];}
elseif (isset($_POST["tsr"])) {$tsr=$_POST["tsr"];}
if (isset($_GET["address1"])) {$address1=$_GET["address1"];}
elseif (isset($_POST["address1"])) {$address1=$_POST["address1"];}
if (isset($_GET["address2"])) {$address2=$_GET["address2"];}
elseif (isset($_POST["address2"])) {$address2=$_POST["address2"];}
if (isset($_GET["address3"])) {$address3=$_GET["address3"];}
elseif (isset($_POST["address3"])) {$address3=$_POST["address3"];}
if (isset($_GET["city"])) {$city=$_GET["city"];}
elseif (isset($_POST["city"])) {$city=$_POST["city"];}
if (isset($_GET["state"])) {$state=$_GET["state"];}
elseif (isset($_POST["state"])) {$state=$_POST["state"];}
if (isset($_GET["postal_code"])) {$postal_code=$_GET["postal_code"];}
elseif (isset($_POST["postal_code"])) {$postal_code=$_POST["postal_code"];}
if (isset($_GET["province"])) {$province=$_GET["province"];}
elseif (isset($_POST["province"])) {$province=$_POST["province"];}
if (isset($_GET["country_code"])) {$country_code=$_GET["country_code"];}
elseif (isset($_POST["country_code"])) {$country_code=$_POST["country_code"];}
if (isset($_GET["alt_phone"])) {$alt_phone=$_GET["alt_phone"];}
elseif (isset($_POST["alt_phone"])) {$alt_phone=$_POST["alt_phone"];}
if (isset($_GET["email"])) {$email=$_GET["email"];}
elseif (isset($_POST["email"])) {$email=$_POST["email"];}
if (isset($_GET["security"])) {$security=$_GET["security"];}
elseif (isset($_POST["security"])) {$security=$_POST["security"];}
if (isset($_GET["comments"])) {$comments=$_GET["comments"];}
elseif (isset($_POST["comments"])) {$comments=$_POST["comments"];}
if (isset($_GET["status"])) {$status=$_GET["status"];}
elseif (isset($_POST["status"])) {$status=$_POST["status"];}
if (isset($_GET["rank"])) {$rank=$_GET["rank"];}
elseif (isset($_POST["rank"])) {$rank=$_POST["rank"];}
if (isset($_GET["owner"])) {$owner=$_GET["owner"];}
elseif (isset($_POST["owner"])) {$owner=$_POST["owner"];}
if (isset($_GET["submit"])) {$submit=$_GET["submit"];}
elseif (isset($_POST["submit"])) {$submit=$_POST["submit"];}
if (isset($_GET["SUBMIT"])) {$SUBMIT=$_GET["SUBMIT"];}
elseif (isset($_POST["SUBMIT"])) {$SUBMIT=$_POST["SUBMIT"];}
if (isset($_GET["CBchangeUSERtoANY"])) {$CBchangeUSERtoANY=$_GET["CBchangeUSERtoANY"];}
elseif (isset($_POST["CBchangeUSERtoANY"])) {$CBchangeUSERtoANY=$_POST["CBchangeUSERtoANY"];}
if (isset($_GET["CBchangeUSERtoUSER"])) {$CBchangeUSERtoUSER=$_GET["CBchangeUSERtoUSER"];}
elseif (isset($_POST["CBchangeUSERtoUSER"])) {$CBchangeUSERtoUSER=$_POST["CBchangeUSERtoUSER"];}
if (isset($_GET["CBchangeANYtoUSER"])) {$CBchangeANYtoUSER=$_GET["CBchangeANYtoUSER"];}
elseif (isset($_POST["CBchangeANYtoUSER"])) {$CBchangeANYtoUSER=$_POST["CBchangeANYtoUSER"];}
if (isset($_GET["CBchangeDATE"])) {$CBchangeDATE=$_GET["CBchangeDATE"];}
elseif (isset($_POST["CBchangeDATE"])) {$CBchangeDATE=$_POST["CBchangeDATE"];}
if (isset($_GET["callback_id"])) {$callback_id=$_GET["callback_id"];}
elseif (isset($_POST["callback_id"])) {$callback_id=$_POST["callback_id"];}
if (isset($_GET["CBuser"])) {$CBuser=$_GET["CBuser"];}
elseif (isset($_POST["CBuser"])) {$CBuser=$_POST["CBuser"];}
if (isset($_GET["modify_logs"])) {$modify_logs=$_GET["modify_logs"];}
elseif (isset($_POST["modify_logs"])) {$modify_logs=$_POST["modify_logs"];}
if (isset($_GET["modify_closer_logs"])) {$modify_closer_logs=$_GET["modify_closer_logs"];}
elseif (isset($_POST["modify_closer_logs"])) {$modify_closer_logs=$_POST["modify_closer_logs"];}
if (isset($_GET["modify_agent_logs"])) {$modify_agent_logs=$_GET["modify_agent_logs"];}
elseif (isset($_POST["modify_agent_logs"])) {$modify_agent_logs=$_POST["modify_agent_logs"];}
if (isset($_GET["add_closer_record"])) {$add_closer_record=$_GET["add_closer_record"];}
elseif (isset($_POST["add_closer_record"])) {$add_closer_record=$_POST["add_closer_record"];}
if (isset($_POST["appointment_date"])) {$appointment_date=$_POST["appointment_date"];}
elseif (isset($_GET["appointment_date"])) {$appointment_date=$_GET["appointment_date"];}
if (isset($_POST["appointment_time"])) {$appointment_time=$_POST["appointment_time"];}
elseif (isset($_GET["appointment_time"])) {$appointment_time=$_GET["appointment_time"];}
if (isset($_POST["claim_QC"])) {$claim_QC=$_POST["claim_QC"];}
elseif (isset($_GET["claim_QC"])) {$claim_QC=$_GET["claim_QC"];}
if (isset($_POST["qc_agent"])) {$qc_agent=$_POST["qc_agent"];}
elseif (isset($_GET["qc_agent"])) {$qc_agent=$_GET["qc_agent"];}
if (isset($_POST["qc_log_id"])) {$qc_log_id=$_POST["qc_log_id"];}
elseif (isset($_GET["qc_log_id"])) {$qc_log_id=$_GET["qc_log_id"];}
if (isset($_POST["qc_process_status"])) {$qc_process_status=$_POST["qc_process_status"];}
elseif (isset($_GET["qc_process_status"])) {$qc_process_status=$_GET["qc_process_status"];}
if (isset($_POST["finish_qc"])) {$finish_qc=$_POST["finish_qc"];}
elseif (isset($_GET["finish_qc"])) {$finish_qc=$_GET["finish_qc"];}
if (isset($_POST["qc_display_method"])) {$qc_display_method=$_POST["qc_display_method"];}
elseif (isset($_GET["qc_display_method"])) {$qc_display_method=$_GET["qc_display_method"];}
if (isset($_POST["qc_display_group_type"])) {$qc_display_group_type=$_POST["qc_display_group_type"];}
elseif (isset($_GET["qc_display_group_type"])) {$qc_display_group_type=$_GET["qc_display_group_type"];}
if (isset($_POST["qc_status"])) {$qc_status=$_POST["qc_status"];}
elseif (isset($_GET["qc_status"])) {$qc_status=$_GET["qc_status"];}
if (isset($_POST["agent_log_id"])) {$agent_log_id=$_POST["agent_log_id"];}
elseif (isset($_GET["agent_log_id"])) {$agent_log_id=$_GET["agent_log_id"];}
if (isset($_POST["referring_section"])) {$referring_section=$_POST["referring_section"];}
elseif (isset($_GET["referring_section"])) {$referring_section=$_GET["referring_section"];}
if (isset($_POST["referring_element"])) {$referring_element=$_POST["referring_element"];}
elseif (isset($_GET["referring_element"])) {$referring_element=$_GET["referring_element"];}
$DB=preg_replace('/[^0-9]/','',$DB);
#############################################
##### START SYSTEM_SETTINGS LOOKUP #####
$stmt = "SELECT use_non_latin,custom_fields_enabled,enable_languages,language_method,active_modules,log_recording_access,allow_web_debug FROM system_settings;";
$rslt=mysql_to_mysqli($stmt, $link);
#if ($DB) {echo "$stmt\n";}
$qm_conf_ct = mysqli_num_rows($rslt);
if ($qm_conf_ct > 0)
{
$row=mysqli_fetch_row($rslt);
$non_latin = $row[0];
$custom_fields_enabled = $row[1];
$SSenable_languages = $row[2];
$SSlanguage_method = $row[3];
$active_modules = $row[4];
$log_recording_access = $row[5];
$SSallow_web_debug = $row[6];
}
if ($SSallow_web_debug < 1) {$DB=0;}
##### END SETTINGS LOOKUP #####
###########################################
$CBchangeANYtoUSER=preg_replace('/[^A-Z]/','',$CBchangeANYtoUSER);
$CBchangeDATE=preg_replace('/[^A-Z]/','',$CBchangeDATE);
$CBchangeUSERtoANY=preg_replace('/[^A-Z]/','',$CBchangeUSERtoANY);
$CBchangeUSERtoUSER=preg_replace('/[^A-Z]/','',$CBchangeUSERtoUSER);
$claim_QC=preg_replace('/[^A-Z]/','',$claim_QC);
$referring_section=preg_replace('/[^A-Z]/','',$referring_section);
$call_began = preg_replace("/\<|\>|\'|\"|\\\\|;/","",$call_began);
if ($non_latin < 1)
{
$PHP_AUTH_USER = preg_replace('/[^-_0-9a-zA-Z]/','',$PHP_AUTH_USER);
$PHP_AUTH_PW = preg_replace('/[^-_0-9a-zA-Z]/','',$PHP_AUTH_PW);
$user = preg_replace('/[^-\_0-9a-zA-Z]/','',$user);
$tsr = preg_replace('/[^-\_0-9a-zA-Z]/','',$tsr);
$CBuser = preg_replace('/[^-\_0-9a-zA-Z]/','',$CBuser);
$qc_agent = preg_replace('/[^-\_0-9a-zA-Z]/','',$qc_agent);
$title = preg_replace('/[^- \'\_\.0-9a-zA-Z]/','',$title);
$first_name = preg_replace('/[^- \'\+\_\.0-9a-zA-Z]/','',$first_name);
$middle_initial = preg_replace('/[^0-9a-zA-Z]/','',$middle_initial);
$last_name = preg_replace('/[^- \'\+\_\.0-9a-zA-Z]/','',$last_name);
$lead_name = preg_replace('/[^- \'\+\_\.0-9a-zA-Z]/','',$lead_name);
$address1 = preg_replace('/[^- \'\+\.\:\/\@\_0-9a-zA-Z]/','',$address1);
$address2 = preg_replace('/[^- \'\+\.\:\/\@\_0-9a-zA-Z]/','',$address2);
$address3 = preg_replace('/[^- \'\+\.\:\/\@\_0-9a-zA-Z]/','',$address3);
$city = preg_replace('/[^- \'\+\.\:\/\@\_0-9a-zA-Z]/','',$city);
$state = preg_replace('/[^- 0-9a-zA-Z]/','',$state);
$province = preg_replace('/[^- \'\+\.\_0-9a-zA-Z]/','',$province);
$postal_code = preg_replace('/[^- \'\+0-9a-zA-Z]/','',$postal_code);
$alt_phone = preg_replace('/[^- \'\+\_\.0-9a-zA-Z]/','',$alt_phone);
$email = preg_replace('/[^- \'\+\.\:\/\@\%\_0-9a-zA-Z]/','',$email);
$security = preg_replace('/[^- \'\+\.\:\/\@\_0-9a-zA-Z]/','',$security);
$campaign_id = preg_replace('/[^-\_0-9a-zA-Z]/', '',$campaign_id);
$owner = preg_replace('/[^- \'\+\.\:\/\@\_0-9a-zA-Z]/','',$owner);
$country_code = preg_replace('/[^A-Z]/','',$country_code);
$gender = preg_replace('/[^A-Z]/','',$gender);
$qc_display_group_type = preg_replace('/[^A-Z]/','',$qc_display_group_type);
$qc_display_method = preg_replace('/[^A-Z]/','',$qc_display_method);
$qc_process_status = preg_replace('/[^A-Z]/','',$qc_process_status);
$channel = preg_replace('/[^- \'\+\.\:\/\@\_0-9a-zA-Z]/','',$channel);
$dispo = preg_replace('/[^-\_0-9a-zA-Z]/', '',$dispo);
$status = preg_replace('/[^-\_0-9a-zA-Z]/', '',$status);
$qc_status = preg_replace('/[^-\_0-9a-zA-Z]/', '',$qc_status);
$referring_element = preg_replace('/[^-\_0-9a-zA-Z]/', '',$referring_element);
$submit = preg_replace('/[^- 0-9a-zA-Z]/','',$submit);
$SUBMIT = preg_replace('/[^- 0-9a-zA-Z]/','',$SUBMIT);
}
else
{
$PHP_AUTH_USER = preg_replace('/[^-_0-9\p{L}]/u', '', $PHP_AUTH_USER);
$PHP_AUTH_PW = preg_replace('/[^-_0-9\p{L}]/u', '', $PHP_AUTH_PW);
$user=preg_replace('/[^-_0-9\p{L}]/u','',$user);
$tsr=preg_replace('/[^-_0-9\p{L}]/u','',$tsr);
$CBuser=preg_replace('/[^-_0-9\p{L}]/u','',$CBuser);
$qc_agent=preg_replace('/[^-_0-9\p{L}]/u','',$qc_agent);
$title = preg_replace('/[^- \'\_\.0-9\p{L}]/u','',$title);
$first_name = preg_replace('/[^- \'\+\_\.0-9\p{L}]/u','',$first_name);
$middle_initial = preg_replace('/[^0-9\p{L}]/u','',$middle_initial);
$last_name = preg_replace('/[^- \'\+\_\.0-9\p{L}]/u','',$last_name);
$lead_name = preg_replace('/[^- \'\+\_\.0-9\p{L}]/u','',$lead_name);
$address1 = preg_replace('/[^- \'\+\.\:\/\@\_0-9\p{L}]/u','',$address1);
$address2 = preg_replace('/[^- \'\+\.\:\/\@\_0-9\p{L}]/u','',$address2);
$address3 = preg_replace('/[^- \'\+\.\:\/\@\_0-9\p{L}]/u','',$address3);
$city = preg_replace('/[^- \'\+\.\:\/\@\_0-9\p{L}]/u','',$city);
$state = preg_replace('/[^- 0-9\p{L}]/u','',$state);
$province = preg_replace('/[^- \'\+\.\_0-9\p{L}]/u','',$province);
$postal_code = preg_replace('/[^- \'\+0-9\p{L}]/u','',$postal_code);
$alt_phone = preg_replace('/[^- \'\+\_\.0-9\p{L}]/u','',$alt_phone);
$email = preg_replace('/[^- \'\+\.\:\/\@\%\_0-9\p{L}]/u','',$email);
$security = preg_replace('/[^- \'\+\.\:\/\@\_0-9\p{L}]/u','',$security);
$campaign_id = preg_replace('/[^-\_0-9\p{L}]/u', '',$campaign_id);
$owner = preg_replace('/[^- \'\+\.\:\/\@\_0-9\p{L}]/u','',$owner);
$country_code = preg_replace('/[^\p{L}]/u','',$country_code);
$gender = preg_replace('/[^\p{L}]/u','',$gender);
$qc_display_group_type = preg_replace('/[^\p{L}]/u','',$qc_display_group_type);
$qc_display_method = preg_replace('/[^\p{L}]/u','',$qc_display_method);
$qc_process_status = preg_replace('/[^\p{L}]/u','',$qc_process_status);
$channel = preg_replace('/[^- \'\+\.\:\/\@\_0-9\p{L}]/u','',$channel);
$dispo = preg_replace('/[^-_0-9\p{L}]/u','',$dispo);
$status = preg_replace('/[^-_0-9\p{L}]/u','',$status);
$qc_status = preg_replace('/[^-_0-9\p{L}]/u','',$qc_status);
$referring_element = preg_replace('/[^-\_0-9\p{L}]/u', '',$referring_element);
$submit = preg_replace('/[^- 0-9\p{L}]/u','',$submit);
$SUBMIT = preg_replace('/[^- 0-9\p{L}]/u','',$SUBMIT);
}
$first_name = preg_replace('/\+/',' ',$first_name);
$last_name = preg_replace('/\+/',' ',$last_name);
$address1 = preg_replace('/\+/',' ',$address1);
$address2 = preg_replace('/\+/',' ',$address2);
$address3 = preg_replace('/\+/',' ',$address3);
$city = preg_replace('/\+/',' ',$city);
$province = preg_replace('/\+/',' ',$province);
$postal_code = preg_replace('/\+/',' ',$postal_code);
$alt_phone = preg_replace('/\+/',' ',$alt_phone);
$email = preg_replace('/\+/',' ',$email);
$security_phrase = preg_replace('/\+/',' ',$security_phrase);
$owner = preg_replace('/\+/',' ',$owner);
$list_id = preg_replace('/[^0-9]/','',$list_id);
$lead_id = preg_replace('/[^0-9a-zA-Z]/','',$lead_id);
$entry_list_id = preg_replace('/[^0-9]/','',$entry_list_id);
$phone_code = preg_replace('/[^0-9]/','',$phone_code);
$update_phone_number=preg_replace('/[^A-Z]/','',$update_phone_number);
$phone_number = preg_replace('/[^0-9]/','',$phone_number);
$old_phone = preg_replace('/[^0-9]/','',$old_phone);
$phone = preg_replace('/[^0-9]/','',$phone);
$vendor_lead_code = preg_replace('/;|#/','',$vendor_lead_code);
$vendor_lead_code = preg_replace('/\+/',' ',$vendor_lead_code);
$vendor_id = preg_replace('/;|#/','',$vendor_id);
$vendor_id = preg_replace('/\+/',' ',$vendor_id);
$source_id = preg_replace('/;|#/','',$source_id);
$source_id = preg_replace('/\+/',' ',$source_id);
$gmt_offset_now = preg_replace('/[^-\_\.0-9]/','',$gmt_offset_now);
$comments = preg_replace('/;|#/','',$comments);
$comments = preg_replace('/\+/',' ',$comments);
$rank = preg_replace('/[^0-9]/','',$rank);
$no_update = preg_replace('/[^A-Z]/','',$no_update);
$called_count=preg_replace('/[^0-9]/','',$called_count);
$local_gmt=preg_replace('/[^-\.0-9]/','',$local_gmt);
$callback = preg_replace('/[^A-Z]/','',$callback);
$callback_type = preg_replace('/[^A-Z]/','',$callback_type);
$add_closer_record = preg_replace('/[^0-9]/','',$add_closer_record);
$agent_log_id = preg_replace('/[^0-9]/','',$agent_log_id);
$appointment_date = preg_replace('/[^-0-9]/','',$appointment_date);
$appointment_time = preg_replace('/[^0-9\:]/','',$appointment_time);
$parked_time = preg_replace('/[^0-9\:\-]/','',$parked_time);
$callback_id = preg_replace('/[^0-9]/','',$callback_id);
$server_ip=preg_replace("/[^0-9\.]/", "", $server_ip);
$end_call=preg_replace('/[^0-9]/','',$end_call);
$finish_qc=preg_replace('/[^0-9]/','',$finish_qc);
$group_id=preg_replace('/[^-_0-9\p{L}]/u','',$group_id);
$extension=preg_replace('/[^0-9]/','',$extension);
$qc_log_id = preg_replace('/[^0-9\:\-]/','',$qc_log_id);
$modify_agent_logs = preg_replace('/[^0-9]/','',$modify_agent_logs);
$modify_closer_logs = preg_replace('/[^0-9]/','',$modify_closer_logs);
$modify_logs = preg_replace('/[^0-9]/','',$modify_logs);
$STARTtime = date("U");
$defaultappointment = date("Y-m-d");
$NOW_TIME = date("Y-m-d H:i:s");
$back_link="./admin.php?ADD=881&qc_display_group_type=$referring_section";
switch($referring_section) # was $scorecard_source
{
case "CAMPAIGN":
$back_link.="&campaign_id=$referring_element";
break;
case "LIST":
$back_link.="&list_id=$referring_element";
break;
case "INGROUP":
$back_link.="&group_id=$referring_element";
break;
}
$rights_stmt = "SELECT modify_leads,qc_enabled,full_name,modify_leads,user_group,selected_language from vicidial_users where user='$PHP_AUTH_USER';";
if ($DB) {echo "|$stmt|\n";}
$rights_rslt=mysql_to_mysqli($rights_stmt, $link);
$rights_row=mysqli_fetch_row($rights_rslt);
$modify_leads = $rights_row[0];
$qc_enabled = $rights_row[1];
$LOGfullname = $rights_row[2];
$LOGmodify_leads = $rights_row[3];
$LOGuser_group = $rights_row[4];
$VUselected_language = $rights_row[5];
if (strlen($phone_number)<6) {$phone_number=$old_phone;}
require("screen_colors.php");
$Mhead_color = $SSstd_row5_background;
$Mmain_bgcolor = $SSmenu_background;
$Mhead_color = $SSstd_row5_background;
$auth=0;
$auth_message = user_authorization($PHP_AUTH_USER,$PHP_AUTH_PW,'QC',1,0);
if ( ($auth_message == 'GOOD') or ($auth_message == '2FA') )
{
$auth=1;
if ($auth_message == '2FA')
{
header ("Content-type: text/html; charset=utf-8");
echo _QXZ("Your session is expired").". "._QXZ("Click here to log in")." .\n";
exit;
}
}
if ($auth < 1)
{
$VDdisplayMESSAGE = _QXZ("Login incorrect, please try again");
if ($auth_message == 'LOCK')
{
$VDdisplayMESSAGE = _QXZ("Too many login attempts, try again in 15 minutes");
Header ("Content-type: text/html; charset=utf-8");
echo "$VDdisplayMESSAGE: |$PHP_AUTH_USER|$auth_message|\n";
exit;
}
if ($auth_message == 'IPBLOCK')
{
$VDdisplayMESSAGE = _QXZ("Your IP Address is not allowed") . ": $ip";
Header ("Content-type: text/html; charset=utf-8");
echo "$VDdisplayMESSAGE: |$PHP_AUTH_USER|$auth_message|\n";
exit;
}
Header("WWW-Authenticate: Basic realm=\"CONTACT-CENTER-ADMIN\"");
Header("HTTP/1.0 401 Unauthorized");
echo "$VDdisplayMESSAGE: |$PHP_AUTH_USER|$PHP_AUTH_PW|$auth_message|\n";
exit;
}
# check their permissions
#if ( $modify_leads < 1 )
# {
# header ("Content-type: text/html; charset=utf-8");
# echo "You do not have permissions to modify leads\n";
# exit;
# }
if ( $qc_enabled < 1 )
{
header ("Content-type: text/html; charset=utf-8");
echo _QXZ("QC is not enabled for your user account")."\n";
exit;
}
if ($submit=="SUBMIT" && $auth==1)
{
$stmt="UPDATE vicidial_list set status='" . mysqli_real_escape_string($link, $status) . "',title='" . mysqli_real_escape_string($link, $title) . "',first_name='" . mysqli_real_escape_string($link, $first_name) . "',middle_initial='" . mysqli_real_escape_string($link, $middle_initial) . "',last_name='" . mysqli_real_escape_string($link, $last_name) . "',address1='" . mysqli_real_escape_string($link, $address1) . "',address2='" . mysqli_real_escape_string($link, $address2) . "',address3='" . mysqli_real_escape_string($link, $address3) . "',city='" . mysqli_real_escape_string($link, $city) . "',state='" . mysqli_real_escape_string($link, $state) . "',province='" . mysqli_real_escape_string($link, $province) . "',postal_code='" . mysqli_real_escape_string($link, $postal_code) . "',country_code='" . mysqli_real_escape_string($link, $country_code) . "',alt_phone='" . mysqli_real_escape_string($link, $alt_phone) . "',phone_number='$phone_number',phone_code='$phone_code',email='" . mysqli_real_escape_string($link, $email) . "',security_phrase='" . mysqli_real_escape_string($link, $security) . "',comments='" . mysqli_real_escape_string($link, $comments) . "',rank='" . mysqli_real_escape_string($link, $rank) . "',owner='" . mysqli_real_escape_string($link, $owner) . "' where lead_id='" . mysqli_real_escape_string($link, $lead_id) . "'";
if ($DB) {echo "|$stmt|\n";}
$rslt=mysql_to_mysqli($stmt, $link);
}
if ($finish_qc && $qc_log_id && $qc_process_status && $qc_agent==$PHP_AUTH_USER)
{
$qc_queue_stmt="select * from quality_control_queue where qc_log_id='$qc_log_id'";
$qc_queue_rslt=mysql_to_mysqli($qc_queue_stmt, $link);
$q=0;
while ($queue_row=mysqli_fetch_array($qc_queue_rslt))
{
$scorecard_source=$queue_row["scorecard_source"];
$campaign_id=$queue_row["campaign_id"];
$group_id=$queue_row["group_id"];
$list_id=$queue_row["list_id"];
$redirect_URL_str="&qc_display_group_type=$referring_section"; # was $scorecard_source
switch($referring_section) # was $scorecard_source
{
case "CAMPAIGN":
$redirect_URL_str.="&campaign_id=$referring_element";
$display_ID=$campaign_id;
break;
case "LIST":
$redirect_URL_str.="&list_id=$referring_element";
$display_ID=$list_id;
break;
case "INGROUP":
$redirect_URL_str.="&group_id=$referring_element";
$display_ID=$group_id;
break;
}
}
if ($qc_process_status=="RELEASE")
{
$del_stmt="delete from quality_control_queue where qc_log_id='$qc_log_id'";
$del_rslt=mysqli_query($link, $del_stmt);
$del_stmt2="delete from quality_control_checkpoint_log where qc_log_id='$qc_log_id'";
$del_rslt2=mysqli_query($link, $del_stmt2);
}
else
{
if ($lead_id)
{
$upd_lead_stmt="UPDATE vicidial_list set status='" . mysqli_real_escape_string($link, $status) . "' where lead_id='" . mysqli_real_escape_string($link, $lead_id) . "'";
$upd_lead_rslt=mysqli_query($link, $upd_lead_stmt);
}
else
{
echo _QXZ("Error. No lead ID");
exit;
}
$upd_stmt="update quality_control_queue set qc_status='$qc_process_status', date_completed=now() where qc_log_id='$qc_log_id'";
if ($DB) {echo "|$upd_stmt|\n";}
$upd_rslt=mysqli_query($link, $upd_stmt);
}
header("Location: ./admin.php?ADD=881$redirect_URL_str");
}
if ($claim_QC && $auth==1)
{
if ((!$qc_display_group_type) || ($qc_display_group_type=="CAMPAIGN" && !$campaign_id) || ($qc_display_group_type=="LIST" && !$list_id) || ($qc_display_group_type=="INGROUP" && !$group_id))
{
echo _QXZ("Error. QC type is not defined or missing info")." ($qc_display_group_type => $campaign_id|$list_id|$group_id)";
exit;
}
if ($qc_display_method)
{
$list_id=0;
if ($agent_log_id) {$alid_clause="and agent_log_id='$agent_log_id'";}
# Get specific agent log record related to selected call to ascertain the appropriate prioritization of the QC scorecards based on the call direction and list ID
$agent_log_stmt="select agent_log_id, user, user_group, campaign_id, uniqueid, event_time+INTERVAL(pause_sec+wait_sec) SECOND as call_time, if(comments='CHAT' or comments='EMAIL' or comments='INBOUND', 'INBOUND', 'OUTBOUND') as direction from vicidial_agent_log where lead_id='$lead_id' and status='$qc_status' $alid_clause order by agent_log_id desc limit 1";
if ($DB) {echo $agent_log_stmt." ";}
# http://svn.eflo.net:40080/vicidial/qc_modify_lead.php?claim_QC=CLAIM&qc_display_method=LEAD&agent_log_id=&qc_status=NP&lead_id=813114&campaign_id=TESTCAMP&lead_name=Test+Lead+17917
$agent_log_rslt=mysql_to_mysqli($agent_log_stmt, $link);
if (mysqli_num_rows($agent_log_rslt)>0)
{
$alog_row=mysqli_fetch_array($agent_log_rslt);
$agent_log_id=$alog_row["agent_log_id"];
$user=$alog_row["user"];
$user_group=$alog_row["user_group"];
$campaign_id=$alog_row["campaign_id"];
$uniqueid=$alog_row["uniqueid"];
$direction=$alog_row["direction"];
$call_time=$alog_row["call_time"];
}
switch($direction)
{
case "OUTBOUND":
$log_stmt="select list_id from vicidial_log where uniqueid='$uniqueid'";
break;
case "INBOUND":
$log_stmt="select list_id, campaign_id from vicidial_closer_log where lead_id='$lead_id' and uniqueid='$uniqueid'".($group_id ? "and campaign_id='$group_id'" : "");
break;
}
$list_scorecard_clause="";
$ingroup_scorecard_clause="";
$log_rslt=mysql_to_mysqli($log_stmt, $link);
while($log_row=mysqli_fetch_array($log_rslt))
{
# Both outbound and inbound calls have a list ID, list ID takes priority over outbound campaign, but not ingroup
$list_id=$log_row["list_id"];
$list_scorecard_clause="UNION select qc_scorecard_id, 'LIST' as scorecard_source, qc_web_form_address, if(qc_scorecard_id!='', 2, 200) as priority from vicidial_lists where list_id='$list_id'";
# Inbound calls' QC scorecard takes priority over list ID and campaign ID.
if (!$group_id) {$group_id=$log_row["campaign_id"];}
if ($group_id)
{
$ingroup_scorecard_clause="UNION select qc_scorecard_id, 'INGROUP' as scorecard_source, qc_web_form_address, if(qc_scorecard_id!='', 1, 100) as priority from vicidial_inbound_groups where group_id='$group_id'";
}
}
# Get scorecard ID
$qc_scorecard_id="";
$scorecard_stmt="select qc_scorecard_id, 'CAMPAIGN' as scorecard_source, qc_web_form_address, if(qc_scorecard_id!='', 3, 300) as priority from vicidial_campaigns where campaign_id='$campaign_id' $list_scorecard_clause $ingroup_scorecard_clause order by priority asc limit 1";
# echo $scorecard_stmt." ";
$scorecard_rslt=mysql_to_mysqli($scorecard_stmt, $link);
while($scorecard_row=mysqli_fetch_array($scorecard_rslt))
{
$qc_scorecard_id=$scorecard_row["qc_scorecard_id"];
$scorecard_source=$scorecard_row["scorecard_source"];
$qc_web_form_address=$scorecard_row["qc_web_form_address"];
}
if (!$qc_scorecard_id)
{
echo _QXZ("Cannot claim this - no QC scorecard found")."\n";
exit;
}
# select the nearest recording_id based on timestamp. 'Nearest' can be in either direction from the call time (i.e. before or after).
$recording_id='';
$rec_log_stmt="select recording_id, if(vicidial_id='$uniqueid', 1, 0) as priority, ABS(TIMESTAMPDIFF(SECOND, start_time, '$call_time')) as priority2 from recording_log where lead_id='$lead_id' order by priority desc, priority2 asc limit 1";
$rec_log_rslt=mysql_to_mysqli($rec_log_stmt, $link);
while($rec_log_row=mysqli_fetch_array($rec_log_rslt))
{
$recording_id=$rec_log_row["recording_id"];
}
$ins_stmt="insert into quality_control_queue(qc_display_method, lead_id, agent_log_id, user, user_group, campaign_id, group_id, list_id, vicidial_id, recording_id, qc_scorecard_id, qc_agent, qc_user_group, qc_status, date_claimed, scorecard_source, status, call_date, qc_web_form_address) VALUES('$qc_display_method', '$lead_id', '$agent_log_id', '$user', '$user_group', '$campaign_id', '$group_id', '$list_id', '$uniqueid', '$recording_id', '$qc_scorecard_id', '$PHP_AUTH_USER', '$LOGuser_group', 'CLAIMED', now(), '$scorecard_source', '$qc_status', '$call_time', '$qc_web_form_address')";
# echo $ins_stmt." ";
$ins_rslt=mysql_to_mysqli($ins_stmt, $link);
$qc_log_id=mysqli_insert_id($link);
if (!$qc_log_id) {echo _QXZ("ERROR - INSERT INTO QUALITY CONTROL QUEUE FAILED!"); exit;}
if ($scorecard_source!=$qc_display_group_type)
{
$alert="WARNING: $scorecard_source setting overrides $qc_display_group_type - using scorecard $qc_scorecard_id ";
}
$checkpoint_log_stmt="select * from quality_control_checkpoints where qc_scorecard_id='$qc_scorecard_id' order by checkpoint_rank asc";
$checkpoint_log_rslt=mysql_to_mysqli($checkpoint_log_stmt, $link);
while ($checkpoint_row=mysqli_fetch_array($checkpoint_log_rslt))
{
$checkpoint_ins_stmt="insert into quality_control_checkpoint_log(qc_log_id, campaign_id, group_id, list_id, qc_scorecard_id, checkpoint_row_id, checkpoint_text, checkpoint_text_presets, checkpoint_rank, checkpoint_points, checkpoint_points_earned, instant_fail) VALUES ('$qc_log_id', '$campaign_id', '$group_id', '$list_id', '$qc_scorecard_id', '$checkpoint_row[checkpoint_row_id]', '$checkpoint_row[checkpoint_text]', '$checkpoint_row[checkpoint_text_presets]', '$checkpoint_row[checkpoint_rank]', '$checkpoint_row[checkpoint_points]', '$checkpoint_row[checkpoint_points]', '$checkpoint_row[instant_fail]')";
$checkpoint_ins_rslt=mysql_to_mysqli($checkpoint_ins_stmt, $link);
# echo $checkpoint_ins_stmt." ";
}
#exit;
}
else
{
echo _QXZ("Cannot claim this - there is no QC display method")."\n";
exit;
}
}
if (!$qc_log_id)
{
echo _QXZ("No QC record detected - exiting."); exit;
}
else
{
$qc_queue_stmt="select * from quality_control_queue where qc_log_id='$qc_log_id'";
$qc_queue_rslt=mysql_to_mysqli($qc_queue_stmt, $link);
$q=0;
while ($queue_row=mysqli_fetch_array($qc_queue_rslt))
{
$qc_id=$queue_row["qc_log_id"];
$qc_agent=$queue_row["qc_agent"];
$lead_id=$queue_row["lead_id"];
$date_claimed=$queue_row["date_claimed"];
$date_modified=$queue_row["date_modified"];
$scorecard_source=$queue_row["scorecard_source"];
$campaign_id=$queue_row["campaign_id"];
$group_id=$queue_row["group_id"];
$list_id=$queue_row["list_id"];
$qc_webform=$queue_row['qc_web_form_address'];
$redirect_URL_str="&qc_display_group_type=$scorecard_source";
switch($scorecard_source)
{
case "CAMPAIGN":
$redirect_URL_str.="&campaign_id=$campaign_id";
$display_ID=$campaign_id;
break;
case "LIST":
$redirect_URL_str.="&list_id=$list_id";
$display_ID=$list_id;
break;
case "INGROUP":
$redirect_URL_str.="&group_id=$group_id";
$display_ID=$group_id;
break;
}
}
}
if ($qc_log_id && $qc_agent!=$PHP_AUTH_USER)
{
echo "Access denied - you are not the agent who claimed this QC record."; exit;
}
$label_title = _QXZ("Title");
$label_first_name = _QXZ("First");
$label_middle_initial = _QXZ("MI");
$label_last_name = _QXZ("Last");
$label_address1 = _QXZ("Address1");
$label_address2 = _QXZ("Address2");
$label_address3 = _QXZ("Address3");
$label_city = _QXZ("City");
$label_state = _QXZ("State");
$label_province = _QXZ("Province");
$label_postal_code = _QXZ("Postal Code");
$label_vendor_lead_code = _QXZ("Vendor ID");
$label_gender = _QXZ("Gender");
$label_phone_number = _QXZ("Phone");
$label_phone_code = _QXZ("DialCode");
$label_alt_phone = _QXZ("Alt. Phone");
$label_security_phrase = _QXZ("Show");
$label_email = _QXZ("Email");
$label_comments = _QXZ("Comments");
### find any custom field labels
$stmt="SELECT label_title,label_first_name,label_middle_initial,label_last_name,label_address1,label_address2,label_address3,label_city,label_state,label_province,label_postal_code,label_vendor_lead_code,label_gender,label_phone_number,label_phone_code,label_alt_phone,label_security_phrase,label_email,label_comments from system_settings;";
$rslt=mysql_to_mysqli($stmt, $link);
$row=mysqli_fetch_row($rslt);
if (strlen($row[0])>0) {$label_title = $row[0];}
if (strlen($row[1])>0) {$label_first_name = $row[1];}
if (strlen($row[2])>0) {$label_middle_initial = $row[2];}
if (strlen($row[3])>0) {$label_last_name = $row[3];}
if (strlen($row[4])>0) {$label_address1 = $row[4];}
if (strlen($row[5])>0) {$label_address2 = $row[5];}
if (strlen($row[6])>0) {$label_address3 = $row[6];}
if (strlen($row[7])>0) {$label_city = $row[7];}
if (strlen($row[8])>0) {$label_state = $row[8];}
if (strlen($row[9])>0) {$label_province = $row[9];}
if (strlen($row[10])>0) {$label_postal_code = $row[10];}
if (strlen($row[11])>0) {$label_vendor_lead_code = $row[11];}
if (strlen($row[12])>0) {$label_gender = $row[12];}
if (strlen($row[13])>0) {$label_phone_number = $row[13];}
if (strlen($row[14])>0) {$label_phone_code = $row[14];}
if (strlen($row[15])>0) {$label_alt_phone = $row[15];}
if (strlen($row[16])>0) {$label_security_phrase = $row[16];}
if (strlen($row[17])>0) {$label_email = $row[17];}
if (strlen($row[18])>0) {$label_comments = $row[18];}
##### BEGIN vicidial_list FIELD LENGTH LOOKUP #####
$MAXvendor_lead_code = '20';
$MAXphone_code = '10';
$MAXphone_number = '18';
$MAXtitle = '4';
$MAXfirst_name = '30';
$MAXmiddle_initial = '1';
$MAXlast_name = '30';
$MAXaddress1 = '100';
$MAXaddress2 = '100';
$MAXaddress3 = '100';
$MAXcity = '50';
$MAXstate = '2';
$MAXprovince = '50';
$MAXpostal_code = '10';
$MAXalt_phone = '12';
$MAXemail = '70';
$MAXsecurity_phrase = '100';
$MAXcountry_code = '3';
$MAXowner = '20';
$stmt = "SHOW COLUMNS FROM vicidial_list;";
$rslt=mysql_to_mysqli($stmt, $link);
if ($DB) {echo "$stmt\n";}
$scvl_ct = mysqli_num_rows($rslt);
$s=0;
while ($scvl_ct > $s)
{
$row=mysqli_fetch_row($rslt);
$vl_field = $row[0];
$vl_type = preg_replace("/[^0-9]/",'',$row[1]);
if (strlen($vl_type) > 0)
{
if ( ($vl_field == 'vendor_lead_code') and ($MAXvendor_lead_code != $vl_type) )
{$MAXvendor_lead_code = $vl_type;}
if ( ($vl_field == 'phone_code') and ($MAXphone_code != $vl_type) )
{$MAXphone_code = $vl_type;}
if ( ($vl_field == 'phone_number') and ($MAXphone_number != $vl_type) )
{$MAXphone_number = $vl_type;}
if ( ($vl_field == 'title') and ($MAXtitle != $vl_type) )
{$MAXtitle = $vl_type;}
if ( ($vl_field == 'first_name') and ($MAXfirst_name != $vl_type) )
{$MAXfirst_name = $vl_type;}
if ( ($vl_field == 'middle_initial') and ($MAXmiddle_initial != $vl_type) )
{$MAXmiddle_initial = $vl_type;}
if ( ($vl_field == 'last_name') and ($MAXlast_name != $vl_type) )
{$MAXlast_name = $vl_type;}
if ( ($vl_field == 'address1') and ($MAXaddress1 != $vl_type) )
{$MAXaddress1 = $vl_type;}
if ( ($vl_field == 'address2') and ($MAXaddress2 != $vl_type) )
{$MAXaddress2 = $vl_type;}
if ( ($vl_field == 'address3') and ($MAXaddress3 != $vl_type) )
{$MAXaddress3 = $vl_type;}
if ( ($vl_field == 'city') and ($MAXcity != $vl_type) )
{$MAXcity = $vl_type;}
if ( ($vl_field == 'state') and ($MAXstate != $vl_type) )
{$MAXstate = $vl_type;}
if ( ($vl_field == 'province') and ($MAXprovince != $vl_type) )
{$MAXprovince = $vl_type;}
if ( ($vl_field == 'postal_code') and ($MAXpostal_code != $vl_type) )
{$MAXpostal_code = $vl_type;}
if ( ($vl_field == 'alt_phone') and ($MAXalt_phone != $vl_type) )
{$MAXalt_phone = $vl_type;}
if ( ($vl_field == 'email') and ($MAXemail != $vl_type) )
{$MAXemail = $vl_type;}
if ( ($vl_field == 'security_phrase') and ($MAXsecurity_phrase != $vl_type) )
{$MAXsecurity_phrase = $vl_type;}
if ( ($vl_field == 'country_code') and ($MAXcountry_code != $vl_type) )
{$MAXcountry_code = $vl_type;}
if ( ($vl_field == 'owner') and ($MAXowner != $vl_type) )
{$MAXowner = $vl_type;}
}
$s++;
}
##### END vicidial_list FIELD LENGTH LOOKUP #####
//Added by Poundteam for QC. Gather record data to display on page and prepopulate title and hrefs, etc.
#$stmt="SELECT * from vicidial_list A inner join vicidial_lists B on A.list_id=B.list_id inner join vicidial_campaigns C on B.campaign_id=C.campaign_id left outer join vicidial_statuses D on A.status=D.status left outer join vicidial_qc_codes E on A.status=E.code where A.lead_id='$lead_id'";
#$rslt=mysql_to_mysqli($stmt, $link);
#if (mysqli_num_rows ($rslt) < '1' )
# {
# if($DB) { echo "$stmt\n"; }
# exit();
# }
#$row=mysqli_fetch_assoc($rslt);
#$original_record = $row;
#$campaign_id = $row['campaign_id'];
#$campaign_name = $row['campaign_name'];
#$phone_number = $row['phone_number'];
#$phone_code = $row['phone_code'];
#$scheduled_callback = $row['scheduled_callback'];
##### grab vicidial_list data for lead #####
$lead_stmt="SELECT lead_id,entry_date,modify_date,status,user,vendor_lead_code,source_id,list_id,gmt_offset_now,called_since_last_reset,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,called_count,last_local_call_time,rank,owner,entry_list_id from vicidial_list where lead_id='" . mysqli_real_escape_string($link, $lead_id) . "'";
$lead_rslt=mysql_to_mysqli($lead_stmt, $link);
if ($DB) {echo "$stmt\n";}
$row=mysqli_fetch_array($lead_rslt);
if (strlen($row[0]) > 0)
{$lead_id = $row[0];}
$modify_date = $row[2];
$dispo = $row[3];
$tsr = $row[4];
$vendor_id = $row[5];
$list_id = $row[7];
$gmt_offset_now = $row[8];
$phone_code = $row[10];
$phone_number = $row[11];
$title = $row[12];
$first_name = $row[13];
$middle_initial = $row[14];
$last_name = $row[15];
$address1 = $row[16];
$address2 = $row[17];
$address3 = $row[18];
$city = $row[19];
$state = $row[20];
$province = $row[21];
$postal_code = $row[22];
$country_code = $row[23];
$gender = $row[24];
$date_of_birth = $row[25];
$alt_phone = $row[26];
$email = $row[27];
$security = $row[28];
$comments = $row[29];
$called_count = $row[30];
$last_local_call_time = $row[31];
$rank = $row[32];
$owner = $row[33];
$entry_list_id = $row[34];
$lead_name = trim(trim($row['first_name'].' '.$row['middle_initial']).' '.$row['last_name']);
### BEGIN Replace variables with values for qc_webform ###
$qc_webform = str_replace('--A--lead_id--B--', $row['lead_id'], $qc_webform);
$qc_webform = str_replace('--A--vendor_lead_code--B--', $row['vendor_lead_code'], $qc_webform);
$qc_webform = str_replace('--A--list_id--B--', $row['list_id'], $qc_webform);
$qc_webform = str_replace('--A--gmt_offset_now--B--', $row['gmt_offset_now'], $qc_webform);
$qc_webform = str_replace('--A--phone_code--B--', $row['phone_code'], $qc_webform);
$qc_webform = str_replace('--A--phone_number--B--', $row['phone_number'], $qc_webform);
$qc_webform = str_replace('--A--title--B--', $row['title'], $qc_webform);
$qc_webform = str_replace('--A--first_name--B--', $row['first_name'], $qc_webform);
$qc_webform = str_replace('--A--middle_initial--B--', $row['middle_initial'], $qc_webform);
$qc_webform = str_replace('--A--last_name--B--', $row['last_name'], $qc_webform);
$qc_webform = str_replace('--A--address1--B--', $row['address1'], $qc_webform);
$qc_webform = str_replace('--A--address2--B--', $row['address2'], $qc_webform);
$qc_webform = str_replace('--A--address3--B--', $row['address3'], $qc_webform);
$qc_webform = str_replace('--A--city--B--', $row['city'], $qc_webform);
$qc_webform = str_replace('--A--state--B--', $row['state'], $qc_webform);
$qc_webform = str_replace('--A--province--B--', $row['province'], $qc_webform);
$qc_webform = str_replace('--A--postal_code--B--', $row['postal_code'], $qc_webform);
$qc_webform = str_replace('--A--country_code--B--', $row['country_code'], $qc_webform);
$qc_webform = str_replace('--A--gender--B--', $row['gender'], $qc_webform);
$qc_webform = str_replace('--A--date_of_birth--B--', $row['date_of_birth'], $qc_webform);
$qc_webform = str_replace('--A--alt_phone--B--', $row['alt_phone'], $qc_webform);
$qc_webform = str_replace('--A--email--B--', $row['email'], $qc_webform);
$qc_webform = str_replace('--A--security_phrase--B--', $row['security_phrase'], $qc_webform);
$qc_webform = str_replace('--A--comments--B--', $row['comments'], $qc_webform);
$qc_webform = str_replace('--A--user--B--', $row['user'], $qc_webform);
$qc_webform = str_replace('--A--campaign--B--', $row['campaign'], $qc_webform);
$qc_webform = str_replace('--A--phone_login--B--', $row['phone_login'], $qc_webform);
$qc_webform = str_replace('--A--rank--B--', $row['rank'], $qc_webform);
$qc_webform = str_replace('--A--owner--B--', $row['owner'], $qc_webform);
$qc_webform = str_replace('--A--security_phrase--B--', $row['security_phrase'], $qc_webform);
$qc_webform = str_replace('--A--current_user--B--', $PHP_AUTH_USER, $qc_webform);
$qc_webform = str_replace('--A--called_count--B--', $row['called_count'], $qc_webform);
### END of replace variables code ###
$vdc_form_display = 'vdc_form_display.php';
if (preg_match("/cf_encrypt/",$active_modules))
{$vdc_form_display = 'vdc_form_display_encrypt.php';}
?>
:
\n";
echo " "._QXZ("QC $scorecard_source")." $display_ID: "._QXZ("Lead")." $lead_id - ".urldecode($lead_name)." GO BACK ";
echo $alert;
echo " \n";
echo " \n";
echo "\t\n";
echo "\t\t \n";
echo "\t\t \n";
echo "\t\t \n";
echo "\t\t \n";
echo "\t \n";
echo " \n";
echo "\n";
//end_call is set by submit button to denote "save", without it this is a VIEW, with it this is a SAVE
$qc_master_span_visibility="block";
$lead_information_span_visibility="none";
$qc_call_information_visibility="none";
$call_logs_span_visibility="none";
if ($end_call > 0)
{
if ($LOGmodify_leads == '5')
{
echo "ERROR: "._QXZ("You do not have permission to modify leads").": $LOGmodify_leads \n";
exit;
}
$qc_master_span_visibility="none";
$lead_information_span_visibility="block";
if($DB) { echo __LINE__."\n"; }
### update the lead record in the vicidial_list table
$stmt="UPDATE vicidial_list set status='" . mysqli_real_escape_string($link, $status) . "',title='" . mysqli_real_escape_string($link, $title) . "',first_name='" . mysqli_real_escape_string($link, $first_name) . "',middle_initial='" . mysqli_real_escape_string($link, $middle_initial) . "',last_name='" . mysqli_real_escape_string($link, $last_name) . "',address1='" . mysqli_real_escape_string($link, $address1) . "',address2='" . mysqli_real_escape_string($link, $address2) . "',address3='" . mysqli_real_escape_string($link, $address3) . "',city='" . mysqli_real_escape_string($link, $city) . "',state='" . mysqli_real_escape_string($link, $state) . "',province='" . mysqli_real_escape_string($link, $province) . "',postal_code='" . mysqli_real_escape_string($link, $postal_code) . "',country_code='" . mysqli_real_escape_string($link, $country_code) . "',alt_phone='" . mysqli_real_escape_string($link, $alt_phone) . "',phone_number='$phone_number',phone_code='$phone_code',email='" . mysqli_real_escape_string($link, $email) . "',security_phrase='" . mysqli_real_escape_string($link, $security) . "',comments='" . mysqli_real_escape_string($link, $comments) . "',rank='" . mysqli_real_escape_string($link, $rank) . "',owner='" . mysqli_real_escape_string($link, $owner) . "' where lead_id='" . mysqli_real_escape_string($link, $lead_id) . "'";
if ($DB) {echo "|$stmt|\n";}
$rslt=mysql_to_mysqli($stmt, $link);
//STATUS just changed, re-capture all data for client!
//Added by Poundteam for QC. Gather record data to display on page and prepopulate title and hrefs, etc.
$stmt="SELECT * from vicidial_list A inner join vicidial_lists B on A.list_id=B.list_id inner join vicidial_campaigns C on B.campaign_id=C.campaign_id left outer join vicidial_statuses D on A.status=D.status left outer join vicidial_qc_codes E on A.status=E.code where A.lead_id='$lead_id'";
if($DB) { echo "$stmt\n"; }
$rslt=mysql_to_mysqli($stmt, $link);
$row=mysqli_fetch_assoc($rslt);
//QUALITY CONTROL CHANGE LOG BEGIN - CHANGE VERSION (VIEW VERSION IS BELOW, WHICH CREATES THE RECORD, THIS ONE MERELY MODIFIES THE EXISTING RECORD)
$new_record=$row;
//if status has changed, the join query above will have the "status" field of "vicidial_list" overwritten by the status field of "vicidial_statuses" ... which will be EMPTY if there is no matching status to the new QC status chosen. This will cause the changelog to be incorrect.
if ( strlen($new_record['status']) == '0' )
{
$new_record['status']=$new_record['code'];
}
if($original_record != $new_record)
{
//Information changed: Find out what and record it, first disable "view" logging
$qcchange='Y';
$qcchangelist='';
$qcchangecounter=0;
foreach($original_record as $key=>$value)
{
//only list the changes in the first 35 fiels, those are from the vicidial_list table (the rest are from joined tables, and the changes cascade)
if(($new_record[$key]!=$value)&&($qcchangecounter<=35)) $qcchangelist.="----$key----\n$value => $new_record[$key]\n";
$qcchangecounter++;
}
### insert a NEW record to the vicidial_closer_log table
$qcchangelist=mysqli_real_escape_string($link, $qcchangelist);
$view_epoch = preg_replace('/[^0-9]/','',$_POST['viewtime']);
$elapsed_seconds=$STARTtime-$view_epoch;
$stmt="UPDATE vicidial_qc_agent_log set save_datetime='$NOW_TIME',save_epoch='$STARTtime',elapsed_seconds='$elapsed_seconds',old_status='{$original_record['status']}',new_status='{$new_record['status']}',details='$qcchangelist'
where view_epoch='$view_epoch' and lead_id='$lead_id'";
if ($DB) {echo "|$stmt|\n";}
$rslt=mysql_to_mysqli($stmt, $link);
}
//QUALITY CONTROL CHANGE LOG END
$original_sales_rep = $row['user'];
$campaign_id = $row['campaign_id'];
$campaign_name = $row['campaign_name'];
$lead_name = trim(trim($row['first_name'].' '.$row['middle_initial']).' '.$row['last_name']);
$scheduled_callback = $row['scheduled_callback'];
echo " "._QXZ("information modified")." \n";
echo ""._QXZ("Go back to re-modify this QC lead")." \n";
echo ""._QXZ("Proceed to QC CAMPAIGN")." $campaign_id "._QXZ("Queue")." "._QXZ("Callback Information").": \n";
### LOG INSERTION Admin Log Table ###
$SQL_log = "$stmt|";
$SQL_log = preg_replace('/;/', '', $SQL_log);
$SQL_log = addslashes($SQL_log);
$stmt="INSERT INTO vicidial_admin_log set event_date='$NOW_TIME', user='$PHP_AUTH_USER', ip_address='$ip', event_section='LEADS', event_type='MODIFY', record_id='$lead_id', event_code='ADMIN MODIFY LEAD', event_sql=\"$SQL_log\", event_notes='';";
if ($DB) {echo "|$stmt|\n";}
$rslt=mysql_to_mysqli($stmt, $link);
if($DB)
{
echo __LINE__."\n";
}
if ( ($dispo != $status) and ($dispo == 'CBHOLD') )
{
if($DB)
{
echo __LINE__."\n";
}
### inactivate vicidial_callbacks record for this lead
$stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='" . mysqli_real_escape_string($link, $lead_id) . "' and status='ACTIVE';";
if ($DB) {echo "|$stmt|\n";}
$rslt=mysql_to_mysqli($stmt, $link);
echo " "._QXZ("vicidial_callback record inactivated").": $lead_id \n";
}
//Duped CBHOLD version for vicidial status type 'Scheduled Callback'
if ( ($dispo != $status) and ($scheduled_callback == 'Y') )
{
if($DB)
{
echo __LINE__."\n";
}
### inactivate vicidial_callbacks record for this lead
$stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='" . mysqli_real_escape_string($link, $lead_id) . "' and status='ACTIVE';";
if ($DB) {echo "|$stmt|\n";}
$rslt=mysql_to_mysqli($stmt, $link);
echo " "._QXZ("vicidial_callback record inactivated").": $lead_id \n";
}
if ( ($dispo != $status) and ($dispo == 'CALLBK') )
{
if($DB)
{
echo __LINE__."\n";
}
### inactivate vicidial_callbacks record for this lead
$stmt="UPDATE vicidial_callbacks set status='INACTIVE' where lead_id='" . mysqli_real_escape_string($link, $lead_id) . "' and status IN('ACTIVE','LIVE');";
if ($DB) {echo "|$stmt|\n";}
$rslt=mysql_to_mysqli($stmt, $link);
echo " "._QXZ("vicidial_callback record inactivated").": $lead_id \n";
}
if ( ($dispo != $status) and ($status == 'CBHOLD') )
{
if($DB)
{
echo __LINE__."\n";
}
### find any vicidial_callback records for this lead
$stmt="select callback_id from vicidial_callbacks where lead_id='" . mysqli_real_escape_string($link, $lead_id) . "' and status IN('ACTIVE','LIVE') order by callback_id desc LIMIT 1;";
if ($DB) {echo "|$stmt|\n";}
$rslt=mysql_to_mysqli($stmt, $link);
$CBM_to_print = mysqli_num_rows($rslt);
if ($CBM_to_print > 0)
{
$rowx=mysqli_fetch_row($rslt);
$callback_id = $rowx[0];
}
else
{
$defaultappointment = date("Y-m-d H:i:s", mktime(date("H"),date("i"),date("s"),date("m"),date("d"),date("Y")));
$stmt="INSERT INTO vicidial_callbacks SET lead_id='" . mysqli_real_escape_string($link, $lead_id) . "',recipient='ANYONE',status='ACTIVE',user='$PHP_AUTH_USER',user_group='ADMIN',list_id='" . mysqli_real_escape_string($link, $list_id) . "',callback_time='$defaultappointment 12:00:00',entry_time='$NOW_TIME',comments='',campaign_id='" . mysqli_real_escape_string($link, $campaign_id) . "';";
if ($DB) {echo "|$stmt|\n";}
$rslt=mysql_to_mysqli($stmt, $link);
echo " "._QXZ("Scheduled Callback added").": $lead_id - $phone_number \n";
}
}
//Duped CBHOLD version for vicidial status type 'Scheduled Callback'
//This entry creates the callback
if ( ($dispo != $status) and ($scheduled_callback == 'Y') )
{
if($DB)
{
echo __LINE__."\n";
}
### find any vicidial_callback records for this lead
$stmt="select callback_id from vicidial_callbacks where lead_id='" . mysqli_real_escape_string($link, $lead_id) . "' and status IN('ACTIVE','LIVE') order by callback_id desc LIMIT 1;";
if ($DB) {echo "|$stmt|\n";}
$rslt=mysql_to_mysqli($stmt, $link);
$CBM_to_print = mysqli_num_rows($rslt);
if ($CBM_to_print > 0)
{
$rowx=mysqli_fetch_row($rslt);
$callback_id = $rowx[0];
}
else
{
$defaultappointment = date("Y-m-d H:i:s", mktime(date("H"),date("i"),date("s"),date("m"),date("d"),date("Y")));
$stmt="INSERT INTO vicidial_callbacks SET lead_id='" . mysqli_real_escape_string($link, $lead_id) . "',recipient='USERONLY',status='ACTIVE',user='$original_sales_rep',user_group='ADMIN',list_id='" . mysqli_real_escape_string($link, $list_id) . "',callback_time='$defaultappointment 12:00:00',entry_time='$NOW_TIME',comments='',campaign_id='" . mysqli_real_escape_string($link, $campaign_id) . "';";
$debug1=$stmt;
if ($DB) {echo "|$stmt|\n";}
$rslt=mysql_to_mysqli($stmt, $link);
echo " "._QXZ("Scheduled Callback added").": $lead_id - $phone_number \n";
}
}
if ( ($dispo != $status) and ($status == 'DNC') )
{
if($DB)
{
echo __LINE__."\n";
}
### add lead to the internal DNC list
$stmt="INSERT INTO vicidial_dnc (phone_number) values('" . mysqli_real_escape_string($link, $phone_number) . "');";
if ($DB) {echo "|$stmt|\n";}
$rslt=mysql_to_mysqli($stmt, $link);
echo " "._QXZ("Lead added to DNC List").": $lead_id - $phone_number \n";
}
### update last record in vicidial_log table
if (($dispo != $status) and ($modify_logs > 0))
{
if($DB)
{
echo __LINE__."\n";
}
$stmt="UPDATE vicidial_log set status='" . mysqli_real_escape_string($link, $status) . "' where lead_id='" . mysqli_real_escape_string($link, $lead_id) . "' order by call_date desc limit 1";
if ($DB) {echo "|$stmt|\n";}
$rslt=mysql_to_mysqli($stmt, $link);
}
### update last record in vicidial_closer_log table
if (($dispo != $status) and ($modify_closer_logs > 0))
{
if($DB)
{
echo __LINE__."\n";
}
$stmt="UPDATE vicidial_closer_log set status='" . mysqli_real_escape_string($link, $status) . "' where lead_id='" . mysqli_real_escape_string($link, $lead_id) . "' order by closecallid desc limit 1";
if ($DB) {echo "|$stmt|\n";}
$rslt=mysql_to_mysqli($stmt, $link);
}
### update last record in vicidial_agent_log table
if (($dispo != $status) and ($modify_agent_logs > 0))
{
if($DB)
{
echo __LINE__."\n";
}
$stmt="UPDATE vicidial_agent_log set status='" . mysqli_real_escape_string($link, $status) . "' where lead_id='" . mysqli_real_escape_string($link, $lead_id) . "' order by agent_log_id desc limit 1";
if ($DB) {echo "|$stmt|\n";}
$rslt=mysql_to_mysqli($stmt, $link);
}
if ($add_closer_record > 0)
{
if($DB) echo __LINE__."\n";
### insert a NEW record to the vicidial_closer_log table
$stmt="INSERT INTO vicidial_closer_log (lead_id,list_id,campaign_id,call_date,start_epoch,end_epoch,length_in_sec,status,phone_code,phone_number,user,comments,processed) values('" . mysqli_real_escape_string($link, $lead_id) . "','" . mysqli_real_escape_string($link, $list_id) . "','" . mysqli_real_escape_string($link, $campaign_id) . "','" . mysqli_real_escape_string($link, $parked_time) . "','$NOW_TIME','$STARTtime','1','" . mysqli_real_escape_string($link, $status) . "','" . mysqli_real_escape_string($link, $phone_code) . "','" . mysqli_real_escape_string($link, $phone_number) . "','$PHP_AUTH_USER','" . mysqli_real_escape_string($link, $comments) . "','Y')";
if ($DB) {echo "|$stmt|\n";}
$rslt=mysql_to_mysqli($stmt, $link);
}
}
else
{
# JCJ - call span
echo "\n\n\n";
echo _QXZ("PLACE A CALL TO LEAD").": \n";
/* JCJ - Commented out, moved to AJAX
//Not a "Submit" result, viewing the record (possibly with URL options such as those below which modify callback status but not record data)
if ($CBchangeUSERtoANY == 'YES')
{
if($DB) echo __LINE__."\n";
### set vicidial_callbacks record to an ANYONE callback for this lead
$stmt="UPDATE vicidial_callbacks set recipient='ANYONE' where callback_id='" . mysqli_real_escape_string($link, $callback_id) . "';";
if ($DB) {echo "|$stmt|\n";}
$rslt=mysql_to_mysqli($stmt, $link);
echo " "._QXZ("vicidial_callback record changed to ANYONE")." \n";
$qcchange='Y';
}
if ($CBchangeUSERtoUSER == 'YES')
{
if($DB) echo __LINE__."\n";
### set vicidial_callbacks record to a different USERONLY callback record for this lead
$stmt="UPDATE vicidial_callbacks set user='" . mysqli_real_escape_string($link, $CBuser) . "' where callback_id='" . mysqli_real_escape_string($link, $callback_id) . "';";
if ($DB) {echo "|$stmt|\n";}
$rslt=mysql_to_mysqli($stmt, $link);
echo " "._QXZ("vicidial_callback record user changed to")." $CBuser \n";
$qcchange='Y';
}
if ($CBchangeANYtoUSER == 'YES')
{
if($DB) echo __LINE__."\n";
### set vicidial_callbacks record to an USERONLY callback for this lead
$stmt="UPDATE vicidial_callbacks set user='" . mysqli_real_escape_string($link, $CBuser) . "',recipient='USERONLY' where callback_id='" . mysqli_real_escape_string($link, $callback_id) . "';";
if ($DB) {echo "|$stmt|\n";}
$rslt=mysql_to_mysqli($stmt, $link);
echo " "._QXZ("vicidial_callback record changed to USERONLY, user").": $CBuser \n";
$qcchange='Y';
}
if ($CBchangeDATE == 'YES')
{
if($DB) echo __LINE__."\n";
### change date/time of vicidial_callbacks record for this lead
$stmt="UPDATE vicidial_callbacks set callback_time='" . mysqli_real_escape_string($link, $appointment_date) . " " . mysqli_real_escape_string($link, $appointment_time) . "',comments='" . mysqli_real_escape_string($link, $comments) . "' where callback_id='" . mysqli_real_escape_string($link, $callback_id) . "';";
if ($DB) {echo "|$stmt|\n";}
$rslt=mysql_to_mysqli($stmt, $link);
echo " "._QXZ("vicidial_callback record changed to")." $appointment_date $appointment_time \n";
$qcchange='Y';
}
*/
//QUALITY CONTROL LOGGING BEGIN - VIEW ONLY
//If no changes have been made, record "view" of this record.
if ($qcchange != 'Y')
{
if($DB) echo __LINE__."\n QCCHANGE != Y";
### insert a NEW record to the vicidial_closer_log table
$stmt="INSERT INTO vicidial_qc_agent_log (qc_user,qc_user_group,qc_user_ip,lead_user,web_server_ip,view_datetime,view_epoch,lead_id,list_id,campaign_id,processed,qc_log_id)
values('" . mysqli_real_escape_string($link, $PHP_AUTH_USER) . "','$LOGuser_group','{$_SERVER['REMOTE_ADDR']}','{$original_record['user']}','{$_SERVER['SERVER_ADDR']}','$NOW_TIME','$STARTtime','" . mysqli_real_escape_string($link, $lead_id) . "','" . mysqli_real_escape_string($link, $original_record['list_id']) . "','" . mysqli_real_escape_string($link, $campaign_id) . "','N', '$qc_log_id')";
if ($DB) {echo "|$stmt|\n";}
$rslt=mysql_to_mysqli($stmt, $link);
}
//QUALITY CONTROL LOGGING END
if($DB) echo __LINE__."\n";
$stmt="SELECT count(*) from vicidial_list where lead_id='" . mysqli_real_escape_string($link, $lead_id) . "'";
$rslt=mysql_to_mysqli($stmt, $link);
if ($DB) {echo "$stmt\n";}
$row=mysqli_fetch_row($rslt);
$lead_count = $row[0];
##### CALLBACK INFORMATION #####
echo " ";
################################
# JCJ - end call span
if ($lead_count > 0)
{
if($DB) echo __LINE__."\n";
##### grab vicidial_list_alt_phones records #####
$stmt="select phone_code,phone_number,alt_phone_note,alt_phone_count,active from vicidial_list_alt_phones where lead_id='" . mysqli_real_escape_string($link, $lead_id) . "' order by alt_phone_count limit 500;";
$rslt=mysql_to_mysqli($stmt, $link);
$alts_to_print = mysqli_num_rows($rslt);
$c=0;
$alts_output = '';
while ($alts_to_print > $c)
{
if($DB)
{
echo __LINE__."\n";
}
$row=mysqli_fetch_row($rslt);
if (preg_match("/1$|3$|5$|7$|9$/i", $c))
{$bgcolor="bgcolor='#".$SSstd_row2_background."'";}
else
{$bgcolor="bgcolor='#".$SSstd_row1_background."'";}
$c++;
$alts_output .= "";
$alts_output .= "$c ";
$alts_output .= "$row[0] $row[1] ";
$alts_output .= " $row[2] \n";
$alts_output .= " $row[3] \n";
$alts_output .= " $row[4] \n";
}
}
else
{
echo _QXZ("lead lookup FAILED for lead_id")." $lead_id $NOW_TIME\n \n";
# echo "Close this window \n \n";
}
#### START LOG RECORD GENERATION #####
##### grab vicidial_log records #####
$stmt="select uniqueid,lead_id,list_id,campaign_id,call_date,start_epoch,end_epoch,length_in_sec,status,phone_code,phone_number,user,comments,processed,user_group,term_reason,alt_dial from vicidial_log where lead_id='" . mysqli_real_escape_string($link, $lead_id) . "' order by uniqueid desc limit 500;";
$rslt=mysql_to_mysqli($stmt, $link);
$logs_to_print = mysqli_num_rows($rslt);
if($DB) echo __LINE__." \n";
$u=0;
$call_log = '';
$log_campaign = '';
while ($logs_to_print > $u)
{
if($DB) echo __LINE__." \n";
$row=mysqli_fetch_row($rslt);
if (strlen($log_campaign)<1) {$log_campaign = $row[3];}
if (preg_match("/1$|3$|5$|7$|9$/i", $u))
{$bgcolor="bgcolor='#".$SSstd_row2_background."'";}
else
{$bgcolor="bgcolor='#".$SSstd_row1_background."'";}
$u++;
$call_log .= "";
$call_log .= "$u ";
$call_log .= "$row[4] ";
$call_log .= " $row[7] \n";
$call_log .= " $row[8] \n";
$call_log .= " $row[11] \n";
$call_log .= " $row[3] \n";
$call_log .= " $row[2] \n";
$call_log .= " $row[1] \n";
$call_log .= " $row[15] \n";
$call_log .= " $row[10] \n";
$campaign_id = $row[3];
}
##### grab vicidial_agent_log records #####
$stmt="select agent_log_id,user,server_ip,event_time,lead_id,campaign_id,pause_epoch,pause_sec,wait_epoch,wait_sec,talk_epoch,talk_sec,dispo_epoch,dispo_sec,status,user_group,comments,sub_status from vicidial_agent_log where lead_id='" . mysqli_real_escape_string($link, $lead_id) . "' order by agent_log_id desc limit 500;";
$rslt=mysql_to_mysqli($stmt, $link);
$Alogs_to_print = mysqli_num_rows($rslt);
if($DB) echo __LINE__." \n";
$y=0;
$agent_log = '';
$Alog_campaign = '';
while ($Alogs_to_print > $y)
{
$row=mysqli_fetch_row($rslt);
if (strlen($Alog_campaign)<1) {$Alog_campaign = $row[5];}
if (preg_match("/1$|3$|5$|7$|9$/i", $y))
{$bgcolor="bgcolor='#".$SSstd_row2_background."'";}
else
{$bgcolor="bgcolor='#".$SSstd_row1_background."'";}
$y++;
$agent_log .= "";
$agent_log .= "$y ";
$agent_log .= "$row[3] ";
$agent_log .= " $row[5] \n";
$agent_log .= " $row[1] \n";
$agent_log .= " $row[7] \n";
$agent_log .= " $row[9] \n";
$agent_log .= " $row[11] \n";
$agent_log .= " $row[13] \n";
$agent_log .= " $row[14] \n";
$agent_log .= " $row[15] \n";
$agent_log .= " $row[17] \n";
$campaign_id = $row[5];
}
##### grab vicidial_qc_agent_log records #####
//Differentiate between View and Mod
$stmt="select * from vicidial_qc_agent_log where lead_id='" . mysqli_real_escape_string($link, $lead_id) . "' and view_epoch<'$STARTtime' order by qc_agent_log_id desc limit 100;";
$rslt=mysql_to_mysqli($stmt, $link);
$Alogs_to_print = mysqli_num_rows($rslt);
if($DB) echo "$stmt \n";
$y=0;
$qc_agent_log = '';
$Alog_campaign = '';
while ($Alogs_to_print > $y)
{
$row=mysqli_fetch_assoc($rslt);
if (strlen($Alog_campaign)<1) {$Alog_campaign = $row[5];}
if (preg_match("/1$|3$|5$|7$|9$/i", $y))
{$bgcolor="bgcolor='#".$SSstd_row2_background."'";}
else
{$bgcolor="bgcolor='#".$SSstd_row1_background."'";}
$y++;
if (strlen($row['save_epoch'])=='0')
{ //VIEW ONLY record
$qc_agent_log .= "";
$qc_agent_log .= "$y ";
$qc_agent_log .= "{$row['view_datetime']} ";
$qc_agent_log .= ""._QXZ("View Only - No changes")." ";
$qc_agent_log .= "{$row['qc_user']} ";
$qc_agent_log .= "{$row['lead_user']} ";
$qc_agent_log .= "{$row['campaign_id']} ";
$qc_agent_log .= "{$row['list_id']} ";
$qc_agent_log .= " ";
$qc_agent_log .= " \n";
}
else
{ // CHANGE record
$detailtooltip=str_replace("\n", "
", $row['details']); // tool tip line break
and
both work in IE, but not firefox.
$qc_agent_log .= "";
$qc_agent_log .= "$y ";
$qc_agent_log .= "{$row['view_datetime']} ";
$qc_agent_log .= "{$row['old_status']} ";
$qc_agent_log .= "{$row['new_status']} ";
$qc_agent_log .= "{$row['qc_user']} ";
$qc_agent_log .= "{$row['lead_user']} ";
$qc_agent_log .= "{$row['campaign_id']} ";
$qc_agent_log .= "{$row['list_id']} ";
$qc_agent_log .= "".($row['elapsed_seconds']+0)." ";
$qc_agent_log .= ""._QXZ("DETAILS")." \n";
}
}
##### grab vicidial_closer_log records #####
$stmt="SELECT closecallid,lead_id,list_id,campaign_id,call_date,start_epoch,end_epoch,length_in_sec,status,phone_code,phone_number,user,comments,processed,queue_seconds,user_group,xfercallid,term_reason,uniqueid,agent_only from vicidial_closer_log where lead_id='" . mysqli_real_escape_string($link, $lead_id) . "' order by closecallid desc limit 500;";
$rslt=mysql_to_mysqli($stmt, $link);
$Clogs_to_print = mysqli_num_rows($rslt);
$y=0;
$closer_log = '';
$Clog_campaign = '';
while ($Clogs_to_print > $y)
{
$row=mysqli_fetch_row($rslt);
if (strlen($Clog_campaign)<1) {$Clog_campaign = $row[3];}
if (preg_match("/1$|3$|5$|7$|9$/i", $y))
{$bgcolor="bgcolor='#".$SSstd_row2_background."'";}
else
{$bgcolor="bgcolor='#".$SSstd_row1_background."'";}
$y++;
$closer_log .= "";
$closer_log .= "$y ";
$closer_log .= "$row[4] ";
$closer_log .= " $row[7] \n";
$closer_log .= " $row[8] \n";
$closer_log .= " $row[11] \n";
$closer_log .= " $row[3] \n";
$closer_log .= " $row[2] \n";
$closer_log .= " $row[1] \n";
$closer_log .= " $row[14] \n";
$closer_log .= " $row[17] \n";
$campaign_id = $row[3];
}
#### END LOG RECORD GENERATION #####
# JCJ - Lead information span
echo "\n\n";
if($DB)
{
echo __LINE__."\n";
}
echo ""._QXZ("Call information").": $first_name $last_name - $phone_number ";
echo "\n";
echo " \n";
echo " \n";
echo " \n";
echo " \n";
echo " \n";
echo " \n";
echo " \n";
echo " \n";
echo " \n";
echo " \n";
echo " \n";
echo " \n";
echo " \n";
echo " \n";
echo " \n";
echo "\n";
echo ""._QXZ("Status").": $dispo \n";
echo "$label_vendor_lead_code: $vendor_id "._QXZ("Lead ID").": $lead_id \n";
echo ""._QXZ("Fronter").": $tsr "._QXZ("List ID").": $list_id "._QXZ("Called Count").": $called_count \n";
echo "$label_title: \n";
echo "$label_first_name: \n";
echo "$label_middle_initial: \n";
echo " $label_last_name: \n";
echo "$label_address1 : \n";
echo "$label_address2 : \n";
echo "$label_address3 : \n";
echo "$label_city : \n";
echo "$label_state: \n";
echo " $label_postal_code: \n";
echo "$label_province : \n";
echo ""._QXZ("Country")." : \n";
echo "$label_phone_number : \n";
echo "$label_phone_code : \n";
echo "$label_alt_phone : \n";
echo "$label_email : \n";
echo "$label_security_phrase : \n";
echo ""._QXZ("Rank")." : \n";
echo ""._QXZ("Owner")." : \n";
echo "$label_comments : \n";
$stmt="SELECT user_id, timestamp, list_id, campaign_id, comment from vicidial_comments where lead_id='$lead_id' order by timestamp";
$rslt=mysql_to_mysqli($stmt, $link);
$row_count = mysqli_num_rows($rslt);
$o=0;
$comments=false;
while ($row_count > $o)
{
if (!$comments)
{
echo ""._QXZ("Comment History")." \n";
$comments=true;
}
$rowx=mysqli_fetch_row($rslt);
echo "$rowx[0] : $rowx[1]"._QXZ("List ID").": $rowx[2]; "._QXZ("Campaign ID").": $rowx[3] $rowx[4] \n";
$o++;
}
/* JCJ - Removed, as it's on the scorecard now
if ($comments)
{
# echo " \n";
}
echo ""._QXZ("QC Result").": \n";
//This section reserved for future expansion (when each campaign will have its own list of QC Result Codes instead of using the the entire master set)
// $list_campaign='';
// $stmt="SELECT campaign_id from vicidial_lists where list_id='$list_id'";
// $rslt=mysql_to_mysqli($stmt, $link);
// if ($DB) {echo "$stmt\n";}
// $Cstatuses_to_print = mysqli_num_rows($rslt);
// if ($Cstatuses_to_print > 0)
// {
// $row=mysqli_fetch_row($rslt);
// $list_campaign = $row[0];
// }
$stmt="SELECT code,code_name,qc_result_type from vicidial_qc_codes order by code_name";
$rslt=mysql_to_mysqli($stmt, $link);
$statuses_to_print = mysqli_num_rows($rslt);
$statuses_list='';
$o=0;
$DS=0;
$statuses_list = "$dispo \n"; $DS++;
while ($statuses_to_print > $o)
{
$rowx=mysqli_fetch_row($rslt);
$statuses_list .= "$rowx[0] - $rowx[1] \n";
$o++;
}
$stmt="SELECT status,status_name,selectable,campaign_id,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable from vicidial_campaign_statuses where selectable='Y' and campaign_id='$list_campaign' order by status";
$rslt=mysql_to_mysqli($stmt, $link);
$CAMPstatuses_to_print = mysqli_num_rows($rslt);
$o=0;
$CBhold_set=0;
//This function gathers campaign specific statuses to display as dispositions for this record (Note Added by Poundteam)
//This function is disabled in QC (statuses are generated from qc codes instead)
while ($CAMPstatuses_to_print > $o)
{
if($DB)
{
echo __LINE__."\n";
}
$rowx=mysqli_fetch_row($rslt);
if ( (strlen($dispo) == strlen($rowx[0])) and (preg_match("/$dispo/",$rowx[0])) )
{$statuses_list .= "$rowx[0] - $rowx[1] \n"; $DS++;}
else
{$statuses_list .= "$rowx[0] - $rowx[1] \n";}
if ($rowx[0] == 'CBHOLD') {$CBhold_set++;}
$o++;
}
if ($dispo == 'CBHOLD') {$CBhold_set++;}
if($DB)
{
echo __LINE__."\n";
}
if ($DS < 1)
{$statuses_list .= "$dispo \n";}
if ($CBhold_set < 1)
{$statuses_list .= ""._QXZ("CBHOLD - Scheduled Callback")." \n";}
echo "$statuses_list";
echo " ("._QXZ("with")." $list_campaign "._QXZ("statuses").") \n";
*/
// Section Modified for QC Functionality By PoundTeam
// echo "Modify vicidial log \n";
// echo "Modify agent log \n";
// echo "Modify closer log \n";
// echo ""._QXZ("Disable QC log entry")." ("._QXZ("this feature is not active yet").") \n";
// echo " \n";
echo "";
if (strlen($qc_webform) > 4)
{
echo ""._QXZ("QC Webform")." \n";
}
else
{
echo " ";
}
echo " \n";
echo "
\n";
if ($c > 0)
{
if($DB)
{
echo __LINE__."\n";
}
echo ""._QXZ("EXTENDED ALTERNATE PHONE NUMBERS FOR THIS LEAD").": \n";
echo "\n";
echo "# "._QXZ("ALT PHONE")." "._QXZ("ALT NOTE")." "._QXZ("ALT COUNT")." "._QXZ("ACTIVE")." \n";
echo "$alts_output\n";
echo "
\n";
echo " \n";
}
### iframe for custom fields display/editing
if ($custom_fields_enabled > 0)
{
$CLlist_id = $list_id;
if (strlen($entry_list_id) > 2)
{$CLlist_id = $entry_list_id;}
$stmt="SHOW TABLES LIKE \"custom_$CLlist_id\";";
if ($DB>0) {echo "$stmt";}
$rslt=mysql_to_mysqli($stmt, $link);
$tablecount_to_print = mysqli_num_rows($rslt);
if ($tablecount_to_print > 0)
{
$stmt="SELECT count(*) from custom_$CLlist_id where lead_id='$lead_id';";
if ($DB>0) {echo "$stmt";}
$rslt=mysql_to_mysqli($stmt, $link);
$fieldscount_to_print = mysqli_num_rows($rslt);
if ($fieldscount_to_print > 0)
{
$rowx=mysqli_fetch_row($rslt);
$custom_records_count = $rowx[0];
$submit_buttonURL = '&submit_button=YES';
if ($LOGmodify_leads == '5') {$submit_buttonURL = '&submit_button=READONLY';}
echo ""._QXZ("CUSTOM FIELDS FOR THIS LEAD").": \n";
echo "\n";
echo " ";
}
}
}
echo " ";
# JCJ - END LEAD INFO span
# JCJ - CALL LOG span
echo "\n\n";
echo ""._QXZ("QUALITY CONTROL LOG RECORDS FOR THIS LEAD").": \n";
echo "\n";
echo "# "._QXZ("DATE/TIME")." "._QXZ("OLD STATUS")." "._QXZ("NEW STATUS")." "._QXZ("QC USER")." "._QXZ("AGENT")." "._QXZ("CAMPAIGN")." "._QXZ("LIST")." "._QXZ("ELAPSED")." \n";
echo "$qc_agent_log";
echo "
\n";
echo " \n\n";
echo ""._QXZ("CALLS TO THIS LEAD").": \n";
echo "\n";
echo "# "._QXZ("DATE/TIME")." "._QXZ("LENGTH")." "._QXZ("STATUS")." "._QXZ("TSR")." "._QXZ("CAMPAIGN")." "._QXZ("LIST")." "._QXZ("LEAD")." "._QXZ("HANGUP REASON")." "._QXZ("PHONE")." \n";
echo "$call_log";
echo "
\n";
echo " \n\n";
echo ""._QXZ("CLOSER RECORDS FOR THIS LEAD").": \n";
echo "\n";
echo "# "._QXZ("DATE/TIME")." "._QXZ("LENGTH")." "._QXZ("STATUS")." "._QXZ("TSR")." "._QXZ("CAMPAIGN")." "._QXZ("LIST")." "._QXZ("LEAD")." "._QXZ("WAIT")." "._QXZ("HANGUP REASON")." \n";
echo "$closer_log";
echo "
\n";
echo " \n\n";
echo ""._QXZ("AGENT LOG RECORDS FOR THIS LEAD").": \n";
echo "\n";
echo "# "._QXZ("DATE/TIME")." "._QXZ("CAMPAIGN")." "._QXZ("TSR")." "._QXZ("PAUSE")." "._QXZ("WAIT")." "._QXZ("TALK")." "._QXZ("DISPO")." "._QXZ("STATUS")." "._QXZ("GROUP")." "._QXZ("SUB")." \n";
echo "$agent_log";
echo "
\n";
echo " \n\n";
echo " \n";
# JCJ - END CALL LOG SPAN
# JCJ - QC LOG span
echo "\n\n\n";
echo "\n";
echo " \n";
echo " \n";
echo " \n";
echo " \n";
echo " \n";
echo " \n";
echo " \n";
echo " \n";
echo " \n";
echo " \n";
if ($qc_log_id)
{
$checkpoint_stmt="select * from quality_control_checkpoint_log where qc_log_id='$qc_log_id' order by checkpoint_rank asc";
$checkpoint_rslt=mysql_to_mysqli($checkpoint_stmt, $link);
if (mysqli_num_rows($checkpoint_rslt)==0)
{
echo _QXZ("ERROR - NO QUALITY CONTROL RECORD FOUND!");
}
else
{
$scorecard_stmt="select qc_scorecard_id, recording_id from quality_control_queue where qc_log_id='$qc_log_id'";
$scorecard_rslt=mysql_to_mysqli($scorecard_stmt, $link);
$scorecard_row=mysqli_fetch_row($scorecard_rslt);
$qc_scorecard_id=$scorecard_row[0];
$qc_recording_id=$scorecard_row[1];
$stmt="select recording_id,channel,server_ip,extension,start_time,start_epoch,end_time,end_epoch,length_in_sec,length_in_min,filename,location,lead_id,user,vicidial_id from recording_log where recording_id='" . mysqli_real_escape_string($link, $qc_recording_id) . "' order by recording_id desc limit 500;";
$rslt=mysql_to_mysqli($stmt, $link);
$row=mysqli_fetch_row($rslt);
$location = $row[11];
if (strlen($location)>2)
{
$URLserver_ip = $location;
$URLserver_ip = preg_replace('/http:\/\//i', '',$URLserver_ip);
$URLserver_ip = preg_replace('/https:\/\//i', '',$URLserver_ip);
$URLserver_ip = preg_replace('/\/.*/i', '',$URLserver_ip);
$stmt="select count(*) from servers where server_ip='$URLserver_ip';";
$rsltx=mysql_to_mysqli($stmt, $link);
$rowx=mysqli_fetch_row($rsltx);
if ($rowx[0] > 0)
{
$stmt="select recording_web_link,alt_server_ip,external_server_ip from servers where server_ip='$URLserver_ip';";
$rsltx=mysql_to_mysqli($stmt, $link);
$rowx=mysqli_fetch_row($rsltx);
if (preg_match("/ALT_IP/i",$rowx[0]))
{
$location = preg_replace("/$URLserver_ip/i", "$rowx[1]", $location);
}
if (preg_match("/EXTERNAL_IP/i",$rowx[0]))
{
$location = preg_replace("/$URLserver_ip/i", "$rowx[2]", $location);
}
}
}
if (strlen($location)>30)
{$locat = substr($location,0,27); $locat = "$locat...";}
else
{$locat = $location;}
$play_audio='';
if ( (preg_match('/ftp/i',$location)) or (preg_match('/http/i',$location)) )
{
$play_audio = " "._QXZ("No browser audio playback support")." \n";
if ($log_recording_access<1)
{
$location = "$locat ";
}
else
{
$location = "$locat ";
}
}
else
{$location = $locat;}
echo "\n";
echo "";
echo ""._QXZ("SCORECARD ID").": $qc_scorecard_id ";
echo ""._QXZ("RECORDING ID").": ";
echo " \n";
echo "";
echo " ";
echo ""._QXZ("Checkpoint")." ";
echo ""._QXZ("Fail")."? ";
echo ""._QXZ("Points")." /th>";
echo ""._QXZ("Comments")." ";
echo " ";
echo " \n";
$i=1;
while ($checkpoint_row=mysqli_fetch_array($checkpoint_rslt))
{
$qccl_id=$checkpoint_row["qc_checkpoint_log_id"];
$instant_fail_active=$checkpoint_row["instant_fail"];
$instant_fail_value=$checkpoint_row["instant_fail_value"];
if (preg_match("/1$|3$|5$|7$|9$/i", $i))
{$bgcolor="bgcolor='#".$SSstd_row3_background."'";}
else
{$bgcolor="bgcolor='#".$SSstd_row2_background."'";}
echo "";
echo "$i ";
echo "$checkpoint_row[checkpoint_text] ";
if ($instant_fail_active=="Y")
{
echo " ";
}
else
{
echo " ";
}
echo " / $checkpoint_row[checkpoint_points] ";
echo "";
echo "";
echo " ";
echo " ";
echo "";
if (strlen($checkpoint_row["checkpoint_text_presets"])>0)
{
echo "Presets: \n";
$presets_array=explode("\n", $checkpoint_row["checkpoint_text_presets"]);
for ($j=0; $j".$preset_keyvals[$pi]."\n";
echo "".(strlen($presets_array[$j])>20 ? substr($presets_array[$j], 0, 20)."..." : $presets_array[$j])." \n";
}
echo " \n";
echo " ";
echo " ";
}
else
{
echo " ";
}
echo " ";
echo " ";
$i++;
}
echo "";
echo "$play_audio ";
echo "$location ";
echo " \n";
echo "";
echo ""._QXZ("FINISH QC").": ";
# echo " "._QXZ("QC Result").": ";
echo "\n";
//This section reserved for future expansion (when each campaign will have its own list of QC Result Codes instead of using the the entire master set)
// $list_campaign='';
// $stmt="SELECT campaign_id from vicidial_lists where list_id='$list_id'";
// $rslt=mysql_to_mysqli($stmt, $link);
// if ($DB) {echo "$stmt\n";}
// $Cstatuses_to_print = mysqli_num_rows($rslt);
// if ($Cstatuses_to_print > 0)
// {
// $row=mysqli_fetch_row($rslt);
// $list_campaign = $row[0];
// }
$stmt="SELECT code,code_name,qc_result_type from vicidial_qc_codes order by code_name";
$rslt=mysql_to_mysqli($stmt, $link);
$statuses_to_print = mysqli_num_rows($rslt);
$statuses_list='';
$o=0;
$DS=0;
$statuses_list = "$dispo \n"; $DS++;
while ($statuses_to_print > $o)
{
$rowx=mysqli_fetch_row($rslt);
$statuses_list .= "$rowx[0] - $rowx[1] \n";
$o++;
}
$stmt="SELECT status,status_name,selectable,campaign_id,human_answered,category,sale,dnc,customer_contact,not_interested,unworkable from vicidial_campaign_statuses where selectable='Y' and campaign_id='$list_campaign' order by status";
$rslt=mysql_to_mysqli($stmt, $link);
$CAMPstatuses_to_print = mysqli_num_rows($rslt);
$o=0;
$CBhold_set=0;
//This function gathers campaign specific statuses to display as dispositions for this record (Note Added by Poundteam)
//This function is disabled in QC (statuses are generated from qc codes instead)
while ($CAMPstatuses_to_print > $o)
{
if($DB)
{
echo __LINE__."\n";
}
$rowx=mysqli_fetch_row($rslt);
if ( (strlen($dispo) == strlen($rowx[0])) and (preg_match("/$dispo/",$rowx[0])) )
{$statuses_list .= "$rowx[0] - $rowx[1] \n"; $DS++;}
else
{$statuses_list .= "$rowx[0] - $rowx[1] \n";}
if ($rowx[0] == 'CBHOLD') {$CBhold_set++;}
$o++;
}
if ($dispo == 'CBHOLD') {$CBhold_set++;}
if($DB)
{
echo __LINE__."\n";
}
if ($DS < 1)
{$statuses_list .= "$dispo \n";}
if ($CBhold_set < 1)
{$statuses_list .= ""._QXZ("CBHOLD - Scheduled Callback")." \n";}
echo "$statuses_list";
echo " ("._QXZ("with")." $list_campaign "._QXZ("statuses").") ";
# echo " ";
echo " ";
echo " \n";
echo "
\n";
}
echo " ";
}
echo ""._QXZ("ALL RECORDINGS FOR THIS LEAD").": \n";
echo "\n";
echo "# "._QXZ("LEAD")." "._QXZ("DATE/TIME")." "._QXZ("SECONDS")." "._QXZ("RECID")." "._QXZ("FILENAME")." "._QXZ("LOCATION")." "._QXZ("TSR")." \n";
$stmt="select recording_id,channel,server_ip,extension,start_time,start_epoch,end_time,end_epoch,length_in_sec,length_in_min,filename,location,lead_id,user,vicidial_id from recording_log where lead_id='" . mysqli_real_escape_string($link, $lead_id) . "' and recording_id!='" . mysqli_real_escape_string($link, $qc_recording_id) . "' order by recording_id desc limit 500;";
$rslt=mysql_to_mysqli($stmt, $link);
$logs_to_print = mysqli_num_rows($rslt);
if ($DB) {echo "$logs_to_print|$stmt|\n";}
$u=0;
while ($logs_to_print > $u)
{
$row=mysqli_fetch_row($rslt);
if (preg_match("/1$|3$|5$|7$|9$/i", $u))
{$bgcolor="bgcolor='#".$SSstd_row2_background."'";}
else
{$bgcolor="bgcolor='#".$SSstd_row1_background."'";}
$location = $row[11];
if (strlen($location)>2)
{
$URLserver_ip = $location;
$URLserver_ip = preg_replace('/http:\/\//i', '',$URLserver_ip);
$URLserver_ip = preg_replace('/https:\/\//i', '',$URLserver_ip);
$URLserver_ip = preg_replace('/\/.*/i', '',$URLserver_ip);
$stmt="select count(*) from servers where server_ip='$URLserver_ip';";
$rsltx=mysql_to_mysqli($stmt, $link);
$rowx=mysqli_fetch_row($rsltx);
if ($rowx[0] > 0)
{
$stmt="select recording_web_link,alt_server_ip,external_server_ip from servers where server_ip='$URLserver_ip';";
$rsltx=mysql_to_mysqli($stmt, $link);
$rowx=mysqli_fetch_row($rsltx);
if (preg_match("/ALT_IP/i",$rowx[0]))
{
$location = preg_replace("/$URLserver_ip/i", "$rowx[1]", $location);
}
if (preg_match("/EXTERNAL_IP/i",$rowx[0]))
{
$location = preg_replace("/$URLserver_ip/i", "$rowx[2]", $location);
}
}
}
if (strlen($location)>30)
{$locat = substr($location,0,27); $locat = "$locat...";}
else
{$locat = $location;}
$play_audio=' ';
if ( (preg_match('/ftp/i',$location)) or (preg_match('/http/i',$location)) )
{
$play_audio = " "._QXZ("No browser audio playback support")." \n";
if ($log_recording_access<1)
{
$location = "$locat ";
}
else
{
$location = "$locat ";
}
}
else
{$location = $locat;}
$u++;
echo "";
echo "$u ";
echo " $row[12] ";
echo " $row[4] \n";
echo " $row[8] \n";
echo " $row[0] \n";
echo " $row[10] \n";
echo " $location \n";
echo " $row[13] ";
echo "$play_audio";
echo " \n";
}
echo "
\n";
echo " \n";
echo " \n";
echo "\n";
# END QC LOG SPAN
$stmt="SELECT count(*) from vicidial_users where user='$PHP_AUTH_USER' and pass='$PHP_AUTH_PW' and user_level >= 9 and modify_leads IN('1','2','3','4');";
if ($DB) {echo "|$stmt|\n";}
if ($non_latin > 0) {$rslt=mysql_to_mysqli("SET NAMES 'UTF8'", $link);}
$rslt=mysql_to_mysqli($stmt, $link);
$row=mysqli_fetch_row($rslt);
$admin_display=$row[0];
if ($admin_display > 0)
{
echo ""._QXZ("Click here to see Lead Modify changes to this lead")." \n";
}
}
echo " \n";
$ENDtime = date("U");
$RUNtime = ($ENDtime - $STARTtime);
echo "\n\n\n \n\n";
echo "\n\n\n \n"._QXZ("script runtime").": $RUNtime "._QXZ("seconds")." ";
?>
"._QXZ("original_record").": ";
print_r($original_record);
echo ""._QXZ("new_record").": ";
print_r($new_record);
echo _QXZ("scheduled_callback").": ";
print_r($scheduled_callback);
echo _QXZ("debug1").": ";
print_r($debug1);
echo _QXZ("Post").": ";
print_r($_POST);
echo _QXZ("qcchangelist").": ";
print_r($qcchangelist);
echo " ";
}
exit;
?>