From 5b65d08f99f299470c5500771ab874dfaf8d082c Mon Sep 17 00:00:00 2001 From: mattf Date: Wed, 27 Apr 2022 15:35:10 +0000 Subject: [PATCH] Fixes for lead not found, Issue #1358 in admin_modify_lead.php git-svn-id: svn://192.168.202.10@3595 3d104415-ff17-0410-8863-d5cf3c621b8a --- docs/DNC-dot-COM_integration.txt | 14 +- www/vicidial/admin_modify_lead.php | 435 ++++++++++++++++------------- 2 files changed, 249 insertions(+), 200 deletions(-) diff --git a/docs/DNC-dot-COM_integration.txt b/docs/DNC-dot-COM_integration.txt index 0cf56f03..845446dd 100644 --- a/docs/DNC-dot-COM_integration.txt +++ b/docs/DNC-dot-COM_integration.txt @@ -4,21 +4,27 @@ NOTE: for DNC.COM integration of batch cellphone filtering, see this document: CELLPHONE_USA_TCPA_FCC_COMPLIANCE.txt -We have added a utility to allow for direct filtering of inactive lists on your Vicidial system with a DNC.COM account, to allow for state, federal(FTC) and internal DNC lists as well as TCPA and Litigator Scrub direct through DNC.COM. We have also added a new inbound scrubbing option for calls coming in through DIDs on your system. +We have added a utility to allow for direct filtering of lists on your Vicidial system with a DNC.COM account, to allow for state, federal(FTC) and internal DNC lists as well as TCPA and Litigator Scrub direct through DNC.COM. We have also added a new inbound scrubbing option for calls coming in through DIDs on your system. DNC.COM is also offering a Free 15 day trial to VICIdial users of their Real-time Integrated TCPA and DNC Safe Harbor lead scrubbing. For more information on this free offer, contact us (http://www.vicidial.com/?page_id=7). ########## OUTBOUND LIST FILTERING ############################################ -NOTE: Outbound list filtering is currently only available in a batch mode application, it does NOT look phone numbers up as they are dialed. +NOTE: Outbound list filtering is currently only available in a batch mode +application, after the leads are already loaded into a list on the system, it +does NOT look phone numbers up as they are dialed. The script that allows for this must be run from the Linux command-line(CLI): AST_DNCcom_filter.pl --lists=LISTID1-LISTID2 -The DNC.com List Filtering is designed to work in batch mode, usually set up in the crontab of one of your system's dialers. We recommend running this script after-hours, or only during calling hours on inavtive lists. +The DNC.com List Filtering is designed to work in batch mode, usually set up in +the crontab of one of your system's dialers. We recommend running this script +after-hours, or only during calling hours on inavtive lists. -In order for this script to work, you must have a Settings Container set up within Vicidial with the ID of "DNCDOTCOM". This settings container should be customized for your specific DNC.COM account, and how you want it to function. +In order for this script to work, you must have a Settings Container set up +within Vicidial with the ID of "DNCDOTCOM". This settings container should be +customized for your specific DNC.COM account, and how you want it to function. Below is an example Settings Container for DNC.COM: diff --git a/www/vicidial/admin_modify_lead.php b/www/vicidial/admin_modify_lead.php index ec00900d..a2e9b5f6 100644 --- a/www/vicidial/admin_modify_lead.php +++ b/www/vicidial/admin_modify_lead.php @@ -109,6 +109,7 @@ # 210630-0838 - Added display of vicidial_vmm_counts data, if $CIDdisplay=="Yes" # 220222-1454 - Added allow_web_debug system setting # 220312-0953 - Added vicidial_dial_cid_log data +# 220427-1132 - Fixes for lead not found, Issue #1358 # require("dbconnect_mysqli.php"); @@ -1536,7 +1537,9 @@ else require("admin_header.php"); echo "\n"; - echo "

"._QXZ("lead does not exist")."
\n"; + echo "

"._QXZ("lead does not exist").": $lead_id

\n"; + echo "\n"; + echo "\n"; exit; } } @@ -1816,9 +1819,23 @@ else { if ($lead_id != 'NEW') { - echo _QXZ("lead lookup FAILED for lead_id")." $lead_id       $NOW_TIME\n

\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo ""; + + $short_header=1; + + require("admin_header.php"); + + echo "\n"; + echo "

"._QXZ("lead does not exist").": $lead_id

\n"; if (!preg_match('/\-ALL/i', $LOGallowed_campaigns)) - {exit;} + { + echo "\n"; + echo "\n"; + exit; + } } # echo "Close this window\n

\n"; } @@ -2316,103 +2333,104 @@ else } ########## END ARCHIVE LOG SEARCH ########## - - ##### grab vicidial_list data for 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 $vl_table where lead_id='" . mysqli_real_escape_string($link, $lead_id) . "' $LOGallowed_listsSQL"; - $rslt=mysql_to_mysqli($stmt, $link); - if ($DB) {echo "$stmt\n";} - $row=mysqli_fetch_row($rslt); - - if ($LOGadmin_hide_phone_data != '0') + if ($lead_count > 0) { - if ($DB > 0) {echo "HIDEPHONEDATA|$row[11]|$LOGadmin_hide_phone_data|\n";} - $phone_temp = $row[11]; - if (strlen($phone_temp) > 0) + ##### grab vicidial_list data for 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 $vl_table where lead_id='" . mysqli_real_escape_string($link, $lead_id) . "' $LOGallowed_listsSQL"; + $rslt=mysql_to_mysqli($stmt, $link); + if ($DB) {echo "$stmt\n";} + $row=mysqli_fetch_row($rslt); + + if ($LOGadmin_hide_phone_data != '0') { - if ($LOGadmin_hide_phone_data == '4_DIGITS') - {$row[11] = str_repeat("X", (strlen($phone_temp) - 4)) . substr($phone_temp,-4,4);} - elseif ($LOGadmin_hide_phone_data == '3_DIGITS') - {$row[11] = str_repeat("X", (strlen($phone_temp) - 3)) . substr($phone_temp,-3,3);} - elseif ($LOGadmin_hide_phone_data == '2_DIGITS') - {$row[11] = str_repeat("X", (strlen($phone_temp) - 2)) . substr($phone_temp,-2,2);} - else - {$row[11] = preg_replace("/./",'X',$phone_temp);} + if ($DB > 0) {echo "HIDEPHONEDATA|$row[11]|$LOGadmin_hide_phone_data|\n";} + $phone_temp = $row[11]; + if (strlen($phone_temp) > 0) + { + if ($LOGadmin_hide_phone_data == '4_DIGITS') + {$row[11] = str_repeat("X", (strlen($phone_temp) - 4)) . substr($phone_temp,-4,4);} + elseif ($LOGadmin_hide_phone_data == '3_DIGITS') + {$row[11] = str_repeat("X", (strlen($phone_temp) - 3)) . substr($phone_temp,-3,3);} + elseif ($LOGadmin_hide_phone_data == '2_DIGITS') + {$row[11] = str_repeat("X", (strlen($phone_temp) - 2)) . substr($phone_temp,-2,2);} + else + {$row[11] = preg_replace("/./",'X',$phone_temp);} + } } + if ($LOGadmin_hide_lead_data != '0') + { + if ($DB > 0) {echo "HIDELEADDATA|$row[5]|$row[6]|$row[12]|$row[13]|$row[14]|$row[15]|$row[16]|$row[17]|$row[18]|$row[19]|$row[20]|$row[21]|$row[22]|$row[26]|$row[27]|$row[28]|$LOGadmin_hide_lead_data|\n";} + if (strlen($row[5]) > 0) + {$data_temp = $row[5]; $row[5] = preg_replace("/./",'X',$data_temp);} + if (strlen($row[6]) > 0) + {$data_temp = $row[6]; $row[6] = preg_replace("/./",'X',$data_temp);} + if (strlen($row[12]) > 0) + {$data_temp = $row[12]; $row[12] = preg_replace("/./",'X',$data_temp);} + if (strlen($row[13]) > 0) + {$data_temp = $row[13]; $row[13] = preg_replace("/./",'X',$data_temp);} + if (strlen($row[14]) > 0) + {$data_temp = $row[14]; $row[14] = preg_replace("/./",'X',$data_temp);} + if (strlen($row[15]) > 0) + {$data_temp = $row[15]; $row[15] = preg_replace("/./",'X',$data_temp);} + if (strlen($row[16]) > 0) + {$data_temp = $row[16]; $row[16] = preg_replace("/./",'X',$data_temp);} + if (strlen($row[17]) > 0) + {$data_temp = $row[17]; $row[17] = preg_replace("/./",'X',$data_temp);} + if (strlen($row[18]) > 0) + {$data_temp = $row[18]; $row[18] = preg_replace("/./",'X',$data_temp);} + if (strlen($row[19]) > 0) + {$data_temp = $row[19]; $row[19] = preg_replace("/./",'X',$data_temp);} + if (strlen($row[20]) > 0) + {$data_temp = $row[20]; $row[20] = preg_replace("/./",'X',$data_temp);} + if (strlen($row[21]) > 0) + {$data_temp = $row[21]; $row[21] = preg_replace("/./",'X',$data_temp);} + if (strlen($row[22]) > 0) + {$data_temp = $row[22]; $row[22] = preg_replace("/./",'X',$data_temp);} + if (strlen($row[26]) > 0) + {$data_temp = $row[26]; $row[26] = preg_replace("/./",'X',$data_temp);} + if (strlen($row[27]) > 0) + {$data_temp = $row[27]; $row[27] = preg_replace("/./",'X',$data_temp);} + if (strlen($row[28]) > 0) + {$data_temp = $row[28]; $row[28] = preg_replace("/./",'X',$data_temp);} + } + + if (strlen($row[0]) > 0) + {$lead_id = $row[0];} + $dispo = $row[3]; + $tsr = $row[4]; + $vendor_id = $row[5]; + $source_id = $row[6]; + $list_id = $row[7]; + $gmt_offset_now = $row[8]; + $called_since_last_reset = $row[9]; + $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]; + + $comments = preg_replace("/!N/","\n",$comments); } - if ($LOGadmin_hide_lead_data != '0') - { - if ($DB > 0) {echo "HIDELEADDATA|$row[5]|$row[6]|$row[12]|$row[13]|$row[14]|$row[15]|$row[16]|$row[17]|$row[18]|$row[19]|$row[20]|$row[21]|$row[22]|$row[26]|$row[27]|$row[28]|$LOGadmin_hide_lead_data|\n";} - if (strlen($row[5]) > 0) - {$data_temp = $row[5]; $row[5] = preg_replace("/./",'X',$data_temp);} - if (strlen($row[6]) > 0) - {$data_temp = $row[6]; $row[6] = preg_replace("/./",'X',$data_temp);} - if (strlen($row[12]) > 0) - {$data_temp = $row[12]; $row[12] = preg_replace("/./",'X',$data_temp);} - if (strlen($row[13]) > 0) - {$data_temp = $row[13]; $row[13] = preg_replace("/./",'X',$data_temp);} - if (strlen($row[14]) > 0) - {$data_temp = $row[14]; $row[14] = preg_replace("/./",'X',$data_temp);} - if (strlen($row[15]) > 0) - {$data_temp = $row[15]; $row[15] = preg_replace("/./",'X',$data_temp);} - if (strlen($row[16]) > 0) - {$data_temp = $row[16]; $row[16] = preg_replace("/./",'X',$data_temp);} - if (strlen($row[17]) > 0) - {$data_temp = $row[17]; $row[17] = preg_replace("/./",'X',$data_temp);} - if (strlen($row[18]) > 0) - {$data_temp = $row[18]; $row[18] = preg_replace("/./",'X',$data_temp);} - if (strlen($row[19]) > 0) - {$data_temp = $row[19]; $row[19] = preg_replace("/./",'X',$data_temp);} - if (strlen($row[20]) > 0) - {$data_temp = $row[20]; $row[20] = preg_replace("/./",'X',$data_temp);} - if (strlen($row[21]) > 0) - {$data_temp = $row[21]; $row[21] = preg_replace("/./",'X',$data_temp);} - if (strlen($row[22]) > 0) - {$data_temp = $row[22]; $row[22] = preg_replace("/./",'X',$data_temp);} - if (strlen($row[26]) > 0) - {$data_temp = $row[26]; $row[26] = preg_replace("/./",'X',$data_temp);} - if (strlen($row[27]) > 0) - {$data_temp = $row[27]; $row[27] = preg_replace("/./",'X',$data_temp);} - if (strlen($row[28]) > 0) - {$data_temp = $row[28]; $row[28] = preg_replace("/./",'X',$data_temp);} - } - - if (strlen($row[0]) > 0) - {$lead_id = $row[0];} - $dispo = $row[3]; - $tsr = $row[4]; - $vendor_id = $row[5]; - $source_id = $row[6]; - $list_id = $row[7]; - $gmt_offset_now = $row[8]; - $called_since_last_reset = $row[9]; - $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]; - - $comments = preg_replace("/!N/","\n",$comments); - ##### grab today call count for lead ##### $call_count_today=0; @@ -2480,116 +2498,141 @@ else echo "
"._QXZ("Add A New Lead")."\n"; } else - {echo "
"._QXZ("Lead information").": $first_name $last_name - $phone_number\n";} - - if ($campaign_id=='---NONE') {$campaign_id='';} - 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"; - if ($archive_search=="Yes") { - echo "\n"; - } - if ($archive_log=="Yes") - { - echo "\n"; - } - else - { - echo "\n"; + if ($lead_count > 0) + {echo "
"._QXZ("Lead information").": $first_name $last_name - $phone_number\n";} } - if ($lead_id == 'NEW') {$list_id='';} - - if ($LOGadmin_hide_lead_data != '0') + if ( ($lead_count > 0) or ($lead_id == 'NEW') ) { - 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"; - if ($SSsource_id_display > 0) - {echo "\n";} - echo "\n"; - echo "\n"; - echo "\n"; - } - else - { - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - - echo "\n"; - echo "\n"; - - if ( ($LOGmodify_leads == '1') or ($LOGmodify_leads == '3') or ($lead_id == 'NEW') ) + if ($campaign_id=='---NONE') {$campaign_id='';} + 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 "
$label_lead_id: $lead_id     $label_list_id: $list_id     $label_gmt_offset_now: $gmt_offset_now     $label_called_since_last_reset: $called_since_last_reset
$label_user: $tsr     $label_called_count: $called_count ("._QXZ("today").": $call_count_today)     $label_last_local_call_time: $last_local_call_time
"; - echo "*** "._QXZ("ARCHIVED LEAD")." ***"; - echo ""; - echo "
"; - echo "*** "._QXZ("ARCHIVED LOG SEARCH ENABLED")." *** "._QXZ("Turn off archived logs display")."
"; - echo "*** "._QXZ("ARCHIVED LOGS SHOWN IN RED, THERE MAY BE DUPLICATES WITH NON-ARCHIVED LOG ENTRIES")." ***"; - echo ""; - echo "
"; - echo ""._QXZ("Turn on archived logs display").""; - echo "
$label_title: $title   \n"; - echo "$label_first_name: $first_name
$label_middle_initial: $middle_initial   \n"; - echo " $label_last_name: $last_name
$label_address1 : $address1
$label_address2 : $address2
$label_address3 : $address3
$label_city : $city
$label_state: $state   \n"; - echo " $label_postal_code: $postal_code
$label_province : $province
$label_country_code : $country_code   \n"; - echo " $label_date_of_birth: $date_of_birth
$label_phone_number : $phone_number
$label_phone_code : $phone_code
$label_alt_phone : $alt_phone
$label_email : $email
$label_security_phrase : $security
$label_vendor_lead_code : $vendor_id>
$label_source_id : $source_id>
$label_rank : $rank
$label_owner : $owner
$label_comments : $comments
$label_title:   \n"; - echo "$label_first_name:
$label_middle_initial:   \n"; - echo " $label_last_name:
$label_address1 :
$label_address2 :
$label_address3 :
$label_city :
$label_state:   \n"; - echo " $label_postal_code:
$label_province :
$label_country_code :   \n"; - echo " $label_date_of_birth:
\n"; + echo "\n"; + echo "\n"; + if ($archive_search=="Yes") { - echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; + } + if ($archive_log=="Yes") + { + echo "\n"; } else { - echo "\n"; - echo "\n"; - echo "\n"; + echo "\n"; } - echo "\n"; - echo "\n"; - echo "\n"; - if ($SSsource_id_display > 0) - {echo "\n";} - echo "\n"; - echo "\n"; - echo "\n"; + if ($lead_id == 'NEW') {$list_id='';} + + if ($LOGadmin_hide_lead_data != '0') + { + 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"; + if ($SSsource_id_display > 0) + {echo "\n";} + echo "\n"; + echo "\n"; + echo "\n"; + } + else + { + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + + if ( ($LOGmodify_leads == '1') or ($LOGmodify_leads == '3') or ($lead_id == 'NEW') ) + { + echo "\n"; + echo "\n"; + echo "\n"; + } + else + { + echo "\n"; + echo "\n"; + echo "\n"; + } + + echo "\n"; + echo "\n"; + echo "\n"; + if ($SSsource_id_display > 0) + {echo "\n";} + echo "\n"; + echo "\n"; + echo "\n"; + } + } + else + { + 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 "
$label_lead_id: $lead_id     $label_list_id: $list_id     $label_gmt_offset_now: $gmt_offset_now     $label_called_since_last_reset: $called_since_last_reset
$label_user: $tsr     $label_called_count: $called_count ("._QXZ("today").": $call_count_today)     $label_last_local_call_time: $last_local_call_time
$label_phone_number :
$label_phone_code :
$label_alt_phone :
"; + echo "*** "._QXZ("ARCHIVED LEAD")." ***"; + echo ""; + echo "
"; + echo "*** "._QXZ("ARCHIVED LOG SEARCH ENABLED")." *** "._QXZ("Turn off archived logs display")."
"; + echo "*** "._QXZ("ARCHIVED LOGS SHOWN IN RED, THERE MAY BE DUPLICATES WITH NON-ARCHIVED LOG ENTRIES")." ***"; + echo ""; + echo "
$label_phone_number : ".htmlparse($phone_number)."
$label_phone_code : ".htmlparse($phone_code)."
$label_alt_phone : ".htmlparse($alt_phone)."
"; + echo ""._QXZ("Turn on archived logs display").""; + echo "
$label_email :
$label_security_phrase :
$label_vendor_lead_code :
$label_source_id :
$label_rank :
$label_owner :
$label_comments :
$label_title: $title   \n"; + echo "$label_first_name: $first_name
$label_middle_initial: $middle_initial   \n"; + echo " $label_last_name: $last_name
$label_address1 : $address1
$label_address2 : $address2
$label_address3 : $address3
$label_city : $city
$label_state: $state   \n"; + echo " $label_postal_code: $postal_code
$label_province : $province
$label_country_code : $country_code   \n"; + echo " $label_date_of_birth: $date_of_birth
$label_phone_number : $phone_number
$label_phone_code : $phone_code
$label_alt_phone : $alt_phone
$label_email : $email
$label_security_phrase : $security
$label_vendor_lead_code : $vendor_id>
$label_source_id : $source_id>
$label_rank : $rank
$label_owner : $owner
$label_comments : $comments
$label_title:   \n"; + echo "$label_first_name:
$label_middle_initial:   \n"; + echo " $label_last_name:
$label_address1 :
$label_address2 :
$label_address3 :
$label_city :
$label_state:   \n"; + echo " $label_postal_code:
$label_province :
$label_country_code :   \n"; + echo " $label_date_of_birth:
$label_phone_number :
$label_phone_code :
$label_alt_phone :
$label_phone_number : ".htmlparse($phone_number)."
$label_phone_code : ".htmlparse($phone_code)."
$label_alt_phone : ".htmlparse($alt_phone)."
$label_email :
$label_security_phrase :
$label_vendor_lead_code :
$label_source_id :
$label_rank :
$label_owner :
$label_comments :
\n"; } if ($lead_id != 'NEW')