diff --git a/UPGRADE b/UPGRADE
index 704958eb..60f5d8fb 100644
--- a/UPGRADE
+++ b/UPGRADE
@@ -111,7 +111,7 @@ OTHER CHANGES:
more information on the dialplan changes necessary to use this script.
12. Added the ability to deduplicate leads based upon statuses in the web based
- lead loader using templates only.
+ lead loader using templates and the basic web lead loader.
diff --git a/translations/raw_translation_files/TO_BE_TRANSLATED_2.8.txt b/translations/raw_translation_files/TO_BE_TRANSLATED_2.8.txt
index 6a32838d..769cc743 100644
--- a/translations/raw_translation_files/TO_BE_TRANSLATED_2.8.txt
+++ b/translations/raw_translation_files/TO_BE_TRANSLATED_2.8.txt
@@ -222,6 +222,10 @@ Calls Ringing||
Active ||
Inactive ||
Total ||
+Status Duplicate Check||
+OMITTING DUPLICATES AGAINST FOLLOWING STATUSES ONLY||
+Duplicate Checking||
+The duplicate options allow you to check for duplicate entries as you load the leads into the system. You can select to check for duplicates within only the same list, only the same campaign lists or within the entire system. If you have chosen a duplicate check method, you can also optionally select the only specific statuses that you want to duplicate check against||
########################## CHANGES TO EXISTING PHRASES IN ADMIN TRANSLATION
diff --git a/www/vicidial/admin.php b/www/vicidial/admin.php
index 349670ad..63e69de9 100644
--- a/www/vicidial/admin.php
+++ b/www/vicidial/admin.php
@@ -7599,6 +7599,11 @@ if ($ADD==99999)
NOTES: The Excel Lead loader functionality is enabled by a series of perl scripts and needs to have a properly configured /etc/astguiclient.conf file in place on the web server. Also, a couple perl modules must be loaded for it to work as well - OLE-Storage_Lite and Spreadsheet-ParseExcel. You can check for runtime errors in these by looking at your apache error_log file. Also, for duplication checks against gampaign lists, the list that has new leads going into it does need to be created in the system before you start to load the leads.
+
+
+
+ Duplicate Checking - The duplicate options allow you to check for duplicate entries as you load the leads into the system. You can select to check for duplicates within only the same list, only the same campaign lists or within the entire system. If you have chosen a duplicate check method, you can also optionally select the only specific statuses that you want to duplicate check against.
+
@@ -30725,7 +30730,7 @@ if ($ADD==3111111111)
echo " \n";
echo "Friday Start: Friday Stop: $NWB#call_times-ct_sunday_start$NWE \n";
echo "Saturday Start: Saturday Stop: $NWB#call_times-ct_sunday_start$NWE \n";
- echo " \n";
+ echo " \n";
diff --git a/www/vicidial/admin_listloader_fourth_gen.php b/www/vicidial/admin_listloader_fourth_gen.php
index 5dbe78bb..28ed2bb3 100644
--- a/www/vicidial/admin_listloader_fourth_gen.php
+++ b/www/vicidial/admin_listloader_fourth_gen.php
@@ -51,10 +51,11 @@
# 130610-0920 - Finalized changing of all ereg instances to preg
# 130621-1817 - Added filtering of input to prevent SQL injection attacks and new user auth
# 130719-1914 - Added SQL to filter by template statuses, if template has specific statuses to dedupe against
+# 130802-0619 - Added status deduping option without template
#
-$version = '2.8-49';
-$build = '130719-1914';
+$version = '2.8-50';
+$build = '130802-0619';
require("dbconnect.php");
require("functions.php");
@@ -137,6 +138,10 @@ if (isset($_GET["lead_file"])) {$lead_file=$_GET["lead_file"];}
elseif (isset($_POST["lead_file"])) {$lead_file=$_POST["lead_file"];}
if (isset($_GET["dupcheck"])) {$dupcheck=$_GET["dupcheck"];}
elseif (isset($_POST["dupcheck"])) {$dupcheck=$_POST["dupcheck"];}
+if (isset($_GET["dedupe_statuses"])) {$dedupe_statuses=$_GET["dedupe_statuses"];}
+ elseif (isset($_POST["dedupe_statuses"])) {$dedupe_statuses=$_POST["dedupe_statuses"];}
+if (isset($_GET["dedupe_statuses_override"])) {$dedupe_statuses_override=$_GET["dedupe_statuses_override"];}
+ elseif (isset($_POST["dedupe_statuses_override"])) {$dedupe_statuses_override=$_POST["dedupe_statuses_override"];}
if (isset($_GET["postalgmt"])) {$postalgmt=$_GET["postalgmt"];}
elseif (isset($_POST["postalgmt"])) {$postalgmt=$_POST["postalgmt"];}
if (isset($_GET["phone_code_override"])) {$phone_code_override=$_GET["phone_code_override"];}
@@ -149,7 +154,9 @@ if (isset($_GET["template_id"])) {$template_id=$_GET["template_id"];}
if (isset($_GET["usacan_check"])) {$usacan_check=$_GET["usacan_check"];}
elseif (isset($_POST["usacan_check"])) {$usacan_check=$_POST["usacan_check"];}
-
+if (strlen($dedupe_statuses_override)>0) {
+ $dedupe_statuses=explode(",", $dedupe_statuses_override);
+}
# if the didnt select an over ride wipe out in_file
if ( $list_id_override == "in_file" ) { $list_id_override = ""; }
if ( $phone_code_override == "in_file" ) { $phone_code_override = ""; }
@@ -411,6 +418,37 @@ function TemplateSpecs() {
delete xmlhttp;
}
}
+function PopulateStatuses(list_id) {
+
+ var xmlhttp=false;
+ try {
+ xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
+ } catch (e) {
+ try {
+ xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
+ } catch (E) {
+ xmlhttp = false;
+ }
+ }
+ if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
+ xmlhttp = new XMLHttpRequest();
+ }
+ if (xmlhttp) {
+ var vs_query = "&form_action=no_template&list_id="+list_id;
+ xmlhttp.open('POST', 'leadloader_template_display.php');
+ xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
+ xmlhttp.send(vs_query);
+ xmlhttp.onreadystatechange = function() {
+ if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
+ var StatSpanText = null;
+ StatSpanText = xmlhttp.responseText;
+ document.getElementById("statuses_display").innerHTML = StatSpanText;
+ }
+ }
+ delete xmlhttp;
+ }
+
+}
| Load leads from this file: | -+ | |
| List ID Override: | - |