Added the ability to include duplicate custom text fields in a custom fields

form in the agent screen.

git-svn-id: svn://192.168.202.10@2855 3d104415-ff17-0410-8863-d5cf3c621b8a
This commit is contained in:
mattf
2017-11-17 06:52:37 +00:00
parent 3f70886cc3
commit 742cf39dcd
8 changed files with 253 additions and 73 deletions
+3
View File
@@ -220,6 +220,9 @@ OTHER CHANGES:
55. Added new Real-Time Whiteboard multi-report
56. Added the ability to include duplicate custom text fields in a custom fields
form in the agent screen.
@@ -2663,7 +2663,8 @@ name_position ENUM('LEFT','TOP') default 'LEFT',
multi_position ENUM('HORIZONTAL','VERTICAL') default 'HORIZONTAL',
field_order SMALLINT(5) default '1',
field_encrypt ENUM('Y','N') default 'N',
field_show_hide ENUM('DISABLED','X_OUT_ALL','LAST_1','LAST_2','LAST_3','LAST_4','FIRST_1_LAST_4') default 'DISABLED'
field_show_hide ENUM('DISABLED','X_OUT_ALL','LAST_1','LAST_2','LAST_3','LAST_4','FIRST_1_LAST_4') default 'DISABLED',
field_duplicate ENUM('Y','N') default 'N'
) ENGINE=MyISAM;
CREATE UNIQUE INDEX listfield on vicidial_lists_fields (list_id, field_label);
@@ -4096,4 +4097,4 @@ INSERT INTO vicidial_settings_containers(container_id,container_notes,container_
UPDATE system_settings set vdc_agent_api_active='1';
UPDATE system_settings SET db_schema_version='1523',db_schema_update_date=NOW(),reload_timestamp=NOW();
UPDATE system_settings SET db_schema_version='1524',db_schema_update_date=NOW(),reload_timestamp=NOW();
+4
View File
@@ -429,3 +429,7 @@ ALTER TABLE vicidial_callbacks_archive ADD email_result ENUM('SENT','FAILED','NO
INSERT INTO vicidial_settings_containers(container_id,container_notes,container_type,user_group,container_entry) VALUES ('AGENT_CALLBACK_EMAIL ','Scheduled callback email alert settings','OTHER','---ALL---','; sending email address\r\nemail_from => vicidial@local.server\r\n\r\n; subject of the email\r\nemail_subject => Scheduled callback alert for --A--agent_name--B--\r\n\r\nemail_body_begin => \r\nThis is a reminder that you have a scheduled callback right now for the following lead:\r\n\r\nName: --A--first_name--B-- --A--last_name--B--\r\nPhone: --A--phone_number--B--\r\nAlt. phone: --A--alt_phone--B--\r\nEmail: --A--email--B--\r\nCB Comments: --A--callback_comments--B--\r\nLead Comments: --A--comments--B--\r\n\r\nPlease don\'t respond to this, fool.\r\n\r\nemail_body_end');
UPDATE system_settings SET db_schema_version='1523',db_schema_update_date=NOW() where db_schema_version < 1523;
ALTER TABLE vicidial_lists_fields ADD field_duplicate ENUM('Y','N') default 'N';
UPDATE system_settings SET db_schema_version='1524',db_schema_update_date=NOW() where db_schema_version < 1524;
+79 -5
View File
@@ -41,6 +41,7 @@
# 170526-2141 - Added additional auth variable filtering, issue #1016
# 170528-1029 - Fix for rare inbound logging issue #1017, Added variable filtering
# 171021-1340 - Fix to update default field if duplicate field in custom fields changed
# 171116-2333 - Added code for duplicate custom fields
#
# $mysql_queries = 26
@@ -349,11 +350,14 @@ function custom_list_fields_values($lead_id,$list_id,$uniqueid,$user,$DB,$call_i
$custom_records_count = $rowx[0];
$select_SQL='';
$stmt="SELECT field_id,field_label,field_name,field_description,field_rank,field_help,field_type,field_options,field_size,field_max,field_default,field_cost,field_required,multi_position,name_position,field_order from vicidial_lists_fields where list_id='$list_id' order by field_rank,field_order,field_label;";
$stmt="SELECT field_id,field_label,field_name,field_description,field_rank,field_help,field_type,field_options,field_size,field_max,field_default,field_cost,field_required,multi_position,name_position,field_order,field_duplicate from vicidial_lists_fields where list_id='$list_id' order by field_rank,field_order,field_label;";
$rslt=mysql_to_mysqli($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'05004',$user,$server_ip,$session_name,$one_mysql_log);}
$fields_to_print = mysqli_num_rows($rslt);
$fields_list='';
$duplicates_list='';
$duplicates_master_list='';
$duplicates_count=0;
$o=0;
while ($fields_to_print > $o)
{
@@ -374,9 +378,25 @@ function custom_list_fields_values($lead_id,$list_id,$uniqueid,$user,$DB,$call_i
$A_multi_position[$o] = $rowx[13];
$A_name_position[$o] = $rowx[14];
$A_field_order[$o] = $rowx[15];
$A_field_duplicate[$o] = $rowx[16];
$A_field_value[$o] = '';
if (!preg_match("/\|$A_field_label[$o]\|/i",$vicidial_list_fields))
if ($A_field_duplicate[$o] == 'Y')
{
$A_master_field[$o] = preg_replace("/_DUPLICATE_.*/",'',$A_field_label[$o]);
$A_field_value[$o] = '--A--' . $A_master_field[$o] . '--B--';
if (!preg_match("/\|$A_master_field[$o]\|/i",$duplicates_master_list))
{
$duplicates_count++;
$duplicates_master_list .= "|$A_master_field[$o]|";
}
if (!preg_match("/\|$A_field_label[$o]\|/i",$duplicates_list))
{
$duplicates_list .= "|$A_field_label[$o]|";
}
}
if ( (!preg_match("/\|$A_field_label[$o]\|/i",$vicidial_list_fields)) and (!preg_match("/\|$A_master_field[$o]\|/i",$vicidial_list_fields)) )
{
if ( ($A_field_type[$o]=='DISPLAY') or ($A_field_type[$o]=='SCRIPT') )
{
@@ -385,8 +405,16 @@ function custom_list_fields_values($lead_id,$list_id,$uniqueid,$user,$DB,$call_i
}
else
{
$select_SQL .= "$A_field_label[$o],";
$A_field_select[$o]=$A_field_label[$o];
if ($A_field_duplicate[$o]=='Y')
{
$select_SQL .= "$A_master_field[$o],";
$A_field_select[$o]=$A_field_label[$o];
}
else
{
$select_SQL .= "$A_field_label[$o],";
$A_field_select[$o]=$A_field_label[$o];
}
}
}
else
@@ -423,6 +451,8 @@ function custom_list_fields_values($lead_id,$list_id,$uniqueid,$user,$DB,$call_i
{$A_field_value[$o]='';}
if (preg_match("/\|$A_field_label[$o]\|/i",$vicidial_list_fields))
{$A_field_value[$o] = '--A--' . $A_field_label[$o] . '--B--';}
if (preg_match("/_DUPLICATE_\d\d\d/",$A_field_label[$o]))
{$A_field_value[$o] = '--A--' . $A_master_field[$o] . '--B--';}
$o++;
}
}
@@ -563,8 +593,52 @@ function custom_list_fields_values($lead_id,$list_id,$uniqueid,$user,$DB,$call_i
if ($A_field_type[$o]=='TEXT')
{
$change_trigger='';
$default_field_flag=0;
if (preg_match("/\|$A_field_label[$o]\|/i",$vicidial_list_fields))
{$change_trigger="onchange=\"update_default_vd_field('$A_field_label[$o]');\"";}
{
$change_trigger="onchange=\"update_default_vd_field('$A_field_label[$o]');\"";
$default_field_flag++;
}
if ( ($duplicates_count > 0) and ( (preg_match("/\|$A_field_label[$o]\|/i",$duplicates_master_list)) or (preg_match("/\|$A_field_label[$o]\|/i",$duplicates_list)) ) )
{
$update_dup_fields='';
$update_dup_ct=0;
if (preg_match("/\|$A_field_label[$o]\|/i",$duplicates_master_list))
{
$master_field = $A_field_label[$o];
$master_field_match = $master_field . '_DUPLICATE_.*';
$dup_fields = explode('|',$duplicates_list);
$dup_fields_ct = count($dup_fields);
$df=0;
while ($dup_fields_ct > $df)
{
if (preg_match("/$master_field_match/",$dup_fields[$df]))
{$update_dup_fields .= "$dup_fields[$df]|"; $update_dup_ct++;}
$df++;
}
}
if (preg_match("/\|$A_field_label[$o]\|/i",$duplicates_list))
{
$master_field = preg_replace("/_DUPLICATE_.*/",'',$A_field_label[$o]);
if (preg_match("/\|$master_field\|/i",$vicidial_list_fields))
{$default_field_flag++;}
$update_dup_fields .= "$master_field|"; $update_dup_ct++;
$master_field_match = $master_field . '_DUPLICATE_.*';
$dup_fields = explode('|',$duplicates_list);
$dup_fields_ct = count($dup_fields);
$df=0;
while ($dup_fields_ct > $df)
{
if ( (preg_match("/$master_field_match/",$dup_fields[$df])) and ($dup_fields[$df] != $A_field_label[$o]) )
{$update_dup_fields .= "$dup_fields[$df]|"; $update_dup_ct++;}
$df++;
}
}
$update_dup_fields = preg_replace("/\|$/",'',$update_dup_fields);
$change_trigger="onchange=\"update_dup_field('$A_field_label[$o]','$update_dup_fields',$update_dup_ct,$default_field_flag,'$master_field');\"";
}
if ($A_field_default[$o]=='NULL') {$A_field_default[$o]='';}
if (strlen($A_field_value[$o]) < 1) {$A_field_value[$o] = $A_field_default[$o];}
$field_HTML .= "<input type=text size=$A_field_size[$o] maxlength=$A_field_max[$o] name=$A_field_label[$o] id=$A_field_label[$o] value=\""._QXZ("$A_field_value[$o]")."\" $change_trigger>\n";
+5 -3
View File
@@ -438,10 +438,11 @@
# 170912-1618 - Fix for no-hopper dnc dialing issue
# 171018-1310 - Added code for campaign scheduled callback email alerts
# 171026-0107 - Added optional queue_log logging
# 171116-2334 - Added code for duplicate fields
#
$version = '2.14-332';
$build = '171026-0107';
$version = '2.14-333';
$build = '171116-2334';
$php_script = 'vdc_db_query.php';
$mel=1; # Mysql Error Log enabled = 1
$mysql_log_count=700;
@@ -4906,7 +4907,7 @@ if ($ACTION == 'manDiaLnextCaLL')
$custom_field_values='----------';
$custom_field_types='|';
### find the names of all custom fields, if any
$stmt = "SELECT field_label,field_type FROM vicidial_lists_fields where list_id='$entry_list_id' and field_type NOT IN('SCRIPT','DISPLAY') and field_label NOT IN('entry_date','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');";
$stmt = "SELECT field_label,field_type FROM vicidial_lists_fields where list_id='$entry_list_id' and field_type NOT IN('SCRIPT','DISPLAY') and field_label NOT IN('entry_date','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') and field_label NOT LIKE \"%_DUPLICATE_%\";";
$rslt=mysql_to_mysqli($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00334',$user,$server_ip,$session_name,$one_mysql_log);}
if ($DB) {echo "$stmt\n";}
@@ -12665,6 +12666,7 @@ if ($ACTION == 'updateDISPO')
if (strlen($FORMcustom_field_names)>2)
{
$custom_field_names = preg_replace("/^\||\|$/",'',$FORMcustom_field_names);
$custom_field_names = preg_replace("/\|.*_DUPLICATE_.*\|/",'|',$custom_field_names);
$custom_field_names = preg_replace("/\|/",",",$custom_field_names);
$custom_field_names_ARY = explode(',',$custom_field_names);
$custom_field_names_ct = count($custom_field_names_ARY);
+30 -10
View File
@@ -41,10 +41,11 @@
# 170331-2300 - Added more debug logging
# 170428-1215 - Small fix for admin modify lead display
# 171021-1339 - Fix to update default field if duplicate field in custom fields changed
# 171116-2333 - Added code for duplicate fields
#
$version = '2.14-31';
$build = '171021-1339';
$version = '2.14-32';
$build = '171116-2333';
$php_script = 'vdc_form_display.php';
require_once("dbconnect_mysqli.php");
@@ -351,7 +352,7 @@ if ($stage=='SUBMIT')
{
$update_SQL='';
$VL_update_SQL='';
$stmt="SELECT field_id,field_label,field_name,field_description,field_rank,field_help,field_type,field_options,field_size,field_max,field_default,field_cost,field_required,multi_position,name_position,field_order from vicidial_lists_fields where list_id='$list_id' order by field_rank,field_order,field_label;";
$stmt="SELECT field_id,field_label,field_name,field_description,field_rank,field_help,field_type,field_options,field_size,field_max,field_default,field_cost,field_required,multi_position,name_position,field_order,field_duplicate from vicidial_lists_fields where list_id='$list_id' order by field_rank,field_order,field_label;";
$rslt=mysql_to_mysqli($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'06003',$user,$server_ip,$session_name,$one_mysql_log);}
$fields_to_print = mysqli_num_rows($rslt);
@@ -369,6 +370,7 @@ if ($stage=='SUBMIT')
$A_field_size[$o] = $rowx[8];
$A_field_max[$o] = $rowx[9];
$A_field_required[$o] = $rowx[12];
$A_field_duplicate[$o] = $rowx[16];
$A_field_value[$o] = '';
$field_name_id = $A_field_label[$o];
@@ -411,19 +413,22 @@ if ($stage=='SUBMIT')
}
else
{
if (preg_match("/\|$A_field_label[$o]\|/i",$vicidial_list_fields))
if (!preg_match("/_DUPLICATE_\d\d\d/",$A_field_label[$o]))
{
$VL_update_SQL .= "$A_field_label[$o]=\"$A_field_value[$o]\",";
if (preg_match("/\|$A_field_label[$o]\|/i",$vicidial_list_fields))
{
$VL_update_SQL .= "$A_field_label[$o]=\"$A_field_value[$o]\",";
}
else
{
$update_SQL .= "$A_field_label[$o]=\"$A_field_value[$o]\",";
}
}
else
{
$update_SQL .= "$A_field_label[$o]=\"$A_field_value[$o]\",";
}
$SUBMIT_output .= "<b>$A_field_name[$o]:</b> $A_field_value[$o]<BR>";
}
$o++;
}
# $SUBMIT_output .= "$update_SQL<BR>$VL_update_SQL";
$custom_update_count=0;
if (strlen($update_SQL)>3)
@@ -536,6 +541,21 @@ else
echo " var tempvalue = document.getElementById(taskfield).value;\n";
echo " parent.document.getElementById(taskfield).value = tempvalue;\n";
echo " }\n";
echo " function update_dup_field(taskmasterfield,taskupdatefields,taskupdatecount,taskdefaultflag,taskdefaultfield) \n";
echo " {\n";
# echo " alert('1: ' + taskmasterfield + ' 2: ' + taskupdatefields + ' 3: ' + taskupdatecount + ' 4: ' + taskdefaultflag);\n";
echo " var tempmastervalue = document.getElementById(taskmasterfield).value;\n";
echo " var update_fields_array=taskupdatefields.split(\"|\");\n";
echo " var temp_ct=0;\n";
echo " while (taskupdatecount > temp_ct)\n";
echo " {\n";
echo " var temp_updating_field = update_fields_array[temp_ct];\n";
echo " document.getElementById(temp_updating_field).value = tempmastervalue;\n";
echo " temp_ct++;\n";
echo " }\n";
echo " if (taskdefaultflag=='1')\n";
echo " {parent.document.getElementById(taskdefaultfield).value = tempmastervalue;}\n";
echo " }\n";
echo " </script>\n";
echo " <META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=utf-8\">\n";
echo "</head>\n";
+122 -52
View File
@@ -44,10 +44,11 @@
# 170301-0827 - Enabled required custom fields with INBOUND_ONLY option
# 170321-1553 - Fixed list view permissions issue #1005
# 170409-1558 - Added IP List validation code
# 171116-1544 - Added option for duplicate custom field entries(field_duplicate)
#
$admin_version = '2.14-36';
$build = '170409-1558';
$admin_version = '2.14-37';
$build = '171116-1544';
require("dbconnect_mysqli.php");
require("functions.php");
@@ -93,6 +94,8 @@ if (isset($_GET["multi_position"])) {$multi_position=$_GET["multi_position"];
elseif (isset($_POST["multi_position"])) {$multi_position=$_POST["multi_position"];}
if (isset($_GET["field_order"])) {$field_order=$_GET["field_order"];}
elseif (isset($_POST["field_order"])) {$field_order=$_POST["field_order"];}
if (isset($_GET["field_duplicate"])) {$field_duplicate=$_GET["field_duplicate"];}
elseif (isset($_POST["field_duplicate"])) {$field_duplicate=$_POST["field_duplicate"];}
if (isset($_GET["source_list_id"])) {$source_list_id=$_GET["source_list_id"];}
elseif (isset($_POST["source_list_id"])) {$source_list_id=$_POST["source_list_id"];}
if (isset($_GET["copy_option"])) {$copy_option=$_GET["copy_option"];}
@@ -149,6 +152,7 @@ if ($non_latin < 1)
$source_list_id = preg_replace('/[^0-9]/','',$source_list_id);
$field_required = preg_replace('/[^_A-Z]/','',$field_required);
$field_duplicate = preg_replace('/[^_A-Z]/','',$field_duplicate);
$field_type = preg_replace('/[^0-9a-zA-Z]/','',$field_type);
$ConFiRm = preg_replace('/[^0-9a-zA-Z]/','',$ConFiRm);
@@ -369,7 +373,7 @@ $NWE = "')\"><IMG SRC=\"help.gif\" WIDTH=20 HEIGHT=20 BORDER=0 ALT=\"HELP\" ALIG
if ($DB > 0)
{
echo "$DB,$action,$ip,$user,$copy_option,$field_id,$list_id,$source_list_id,$field_label,$field_name,$field_description,$field_rank,$field_help,$field_type,$field_options,$field_size,$field_max,$field_default,$field_required,$field_cost,$multi_position,$name_position,$field_order";
echo "$DB,$action,$ip,$user,$copy_option,$field_id,$list_id,$source_list_id,$field_label,$field_name,$field_description,$field_rank,$field_help,$field_type,$field_options,$field_size,$field_max,$field_default,$field_required,$field_cost,$multi_position,$name_position,$field_order,$field_duplicate";
}
@@ -476,7 +480,7 @@ if ( ($action == "COPY_FIELDS_SUBMIT") and ($list_id > 99) and ($source_list_id
if ($DB > 0) {echo _QXZ("Starting REPLACE copy")."\n<BR>";}
if ($table_exists > 0)
{
$stmt="SELECT field_id,field_label from vicidial_lists_fields where list_id='$list_id' order by field_rank,field_order,field_label;";
$stmt="SELECT field_id,field_label,field_duplicate,field_type from vicidial_lists_fields where list_id='$list_id' order by field_rank,field_order,field_label;";
$rslt=mysql_to_mysqli($stmt, $link);
$fields_to_print = mysqli_num_rows($rslt);
$fields_list='';
@@ -486,6 +490,8 @@ if ( ($action == "COPY_FIELDS_SUBMIT") and ($list_id > 99) and ($source_list_id
$rowx=mysqli_fetch_row($rslt);
$A_field_id[$o] = $rowx[0];
$A_field_label[$o] = $rowx[1];
$A_field_duplicate[$o] = $rowx[2];
$A_field_type[$o] = $rowx[3];
$o++;
}
@@ -493,7 +499,7 @@ if ( ($action == "COPY_FIELDS_SUBMIT") and ($list_id > 99) and ($source_list_id
while ($fields_to_print > $o)
{
### delete field function
$SQLsuccess = delete_field_function($DB,$link,$linkCUSTOM,$ip,$user,$table_exists,$A_field_id[$o],$list_id,$A_field_label[$o],$A_field_name[$o],$A_field_description[$o],$A_field_rank[$o],$A_field_help[$o],$A_field_type[$o],$A_field_options[$o],$A_field_size[$o],$A_field_max[$o],$A_field_default[$o],$A_field_required[$o],$A_field_cost[$o],$A_multi_position[$o],$A_name_position[$o],$A_field_order[$o],$vicidial_list_fields);
$SQLsuccess = delete_field_function($DB,$link,$linkCUSTOM,$ip,$user,$table_exists,$A_field_id[$o],$list_id,$A_field_label[$o],$A_field_name[$o],$A_field_description[$o],$A_field_rank[$o],$A_field_help[$o],$A_field_type[$o],$A_field_options[$o],$A_field_size[$o],$A_field_max[$o],$A_field_default[$o],$A_field_required[$o],$A_field_cost[$o],$A_multi_position[$o],$A_name_position[$o],$A_field_order[$o],$A_field_duplicate[$o],$vicidial_list_fields);
if ($SQLsuccess > 0)
{echo _QXZ("SUCCESS: Custom Field Deleted")." - $list_id|$A_field_label[$o]\n<BR>";}
@@ -506,7 +512,7 @@ if ( ($action == "COPY_FIELDS_SUBMIT") and ($list_id > 99) and ($source_list_id
if ($copy_option=='APPEND')
{
if ($DB > 0) {echo _QXZ("Starting APPEND copy")."\n<BR>";}
$stmt="SELECT field_id,field_label,field_name,field_description,field_rank,field_help,field_type,field_options,field_size,field_max,field_default,field_cost,field_required,multi_position,name_position,field_order from vicidial_lists_fields where list_id='$source_list_id' order by field_rank,field_order,field_label;";
$stmt="SELECT field_id,field_label,field_name,field_description,field_rank,field_help,field_type,field_options,field_size,field_max,field_default,field_cost,field_required,multi_position,name_position,field_order,field_duplicate from vicidial_lists_fields where list_id='$source_list_id' order by field_rank,field_order,field_label;";
$rslt=mysql_to_mysqli($stmt, $link);
$fields_to_print = mysqli_num_rows($rslt);
$fields_list='';
@@ -530,6 +536,7 @@ if ( ($action == "COPY_FIELDS_SUBMIT") and ($list_id > 99) and ($source_list_id
$A_multi_position[$o] = $rowx[13];
$A_name_position[$o] = $rowx[14];
$A_field_order[$o] = $rowx[15];
$A_field_duplicate[$o] = $rowx[16];
$o++;
$rank_select .= "<option>$o</option>";
@@ -552,13 +559,28 @@ if ( ($action == "COPY_FIELDS_SUBMIT") and ($list_id > 99) and ($source_list_id
$new_field_exists = $rowx[0];
}
}
if ($new_field_exists < 1)
if ( ($new_field_exists < 1) or ($A_field_duplicate[$o] == 'Y') )
{
if (preg_match("/\|$temp_field_label\|/i",$vicidial_list_fields))
{$A_field_label[$o] = strtolower($A_field_label[$o]);}
if ($A_field_duplicate[$o] == 'Y')
{
$duplicate_field_count=0;
$stmt="SELECT count(*) from vicidial_lists_fields where list_id='$list_id' and field_label LIKE \"$A_field_label[$o]%\";";
if ($DB>0) {echo "$stmt";}
$rslt=mysql_to_mysqli($stmt, $link);
$dupscount_to_print = mysqli_num_rows($rslt);
if ($dupscount_to_print > 0)
{
$rowx=mysqli_fetch_row($rslt);
$duplicate_field_count = $rowx[0];
}
$A_field_label[$o] .= "_DUPLICATE_" . sprintf('%03d', $duplicate_field_count);
}
### add field function
$SQLsuccess = add_field_function($DB,$link,$linkCUSTOM,$ip,$user,$table_exists,$A_field_id[$o],$list_id,$A_field_label[$o],$A_field_name[$o],$A_field_description[$o],$A_field_rank[$o],$A_field_help[$o],$A_field_type[$o],$A_field_options[$o],$A_field_size[$o],$A_field_max[$o],$A_field_default[$o],$A_field_required[$o],$A_field_cost[$o],$A_multi_position[$o],$A_name_position[$o],$A_field_order[$o],$vicidial_list_fields,$mysql_reserved_words);
$SQLsuccess = add_field_function($DB,$link,$linkCUSTOM,$ip,$user,$table_exists,$A_field_id[$o],$list_id,$A_field_label[$o],$A_field_name[$o],$A_field_description[$o],$A_field_rank[$o],$A_field_help[$o],$A_field_type[$o],$A_field_options[$o],$A_field_size[$o],$A_field_max[$o],$A_field_default[$o],$A_field_required[$o],$A_field_cost[$o],$A_multi_position[$o],$A_name_position[$o],$A_field_order[$o],$A_field_duplicate[$o],$vicidial_list_fields,$mysql_reserved_words);
if ($SQLsuccess > 0)
{echo _QXZ("SUCCESS: Custom Field Added")." - $list_id|$A_field_label[$o]\n<BR>";}
@@ -576,11 +598,11 @@ if ( ($action == "COPY_FIELDS_SUBMIT") and ($list_id > 99) and ($source_list_id
if ($copy_option=='UPDATE')
{
if ($DB > 0) {echo _QXZ("Starting UPDATE copy")."\n<BR>";}
if ( ($table_exists < 1) and (!preg_match("/\|$field_label\|/i",$vicidial_list_fields)) )
if ( ($table_exists < 1) and (!preg_match("/\|$field_label\|/i",$vicidial_list_fields)) and ($field_duplicate=='N') )
{echo "<B><font color=red>"._QXZ("ERROR: Table does not exist")." custom_$list_id</B></font>\n<BR>";}
else
{
$stmt="SELECT field_id,field_label,field_name,field_description,field_rank,field_help,field_type,field_options,field_size,field_max,field_default,field_cost,field_required,multi_position,name_position,field_order from vicidial_lists_fields where list_id='$source_list_id' order by field_rank,field_order,field_label;";
$stmt="SELECT field_id,field_label,field_name,field_description,field_rank,field_help,field_type,field_options,field_size,field_max,field_default,field_cost,field_required,multi_position,name_position,field_order,field_duplicate from vicidial_lists_fields where list_id='$source_list_id' order by field_rank,field_order,field_label;";
$rslt=mysql_to_mysqli($stmt, $link);
$fields_to_print = mysqli_num_rows($rslt);
$fields_list='';
@@ -620,7 +642,7 @@ if ( ($action == "COPY_FIELDS_SUBMIT") and ($list_id > 99) and ($source_list_id
$current_field_id = $rowx[0];
### modify field function
$SQLsuccess = modify_field_function($DB,$link,$linkCUSTOM,$ip,$user,$table_exists,$current_field_id,$list_id,$A_field_label[$o],$A_field_name[$o],$A_field_description[$o],$A_field_rank[$o],$A_field_help[$o],$A_field_type[$o],$A_field_options[$o],$A_field_size[$o],$A_field_max[$o],$A_field_default[$o],$A_field_required[$o],$A_field_cost[$o],$A_multi_position[$o],$A_name_position[$o],$A_field_order[$o],$vicidial_list_fields);
$SQLsuccess = modify_field_function($DB,$link,$linkCUSTOM,$ip,$user,$table_exists,$current_field_id,$list_id,$A_field_label[$o],$A_field_name[$o],$A_field_description[$o],$A_field_rank[$o],$A_field_help[$o],$A_field_type[$o],$A_field_options[$o],$A_field_size[$o],$A_field_max[$o],$A_field_default[$o],$A_field_required[$o],$A_field_cost[$o],$A_multi_position[$o],$A_name_position[$o],$A_field_order[$o],$A_field_duplicate[$o],$vicidial_list_fields);
if ($SQLsuccess > 0)
{echo _QXZ("SUCCESS: Custom Field Modified")." - $list_id|$A_field_label[$o]\n<BR>";}
@@ -665,11 +687,11 @@ if ( ($action == "DELETE_CUSTOM_FIELD_CONFIRMATION") and ($list_id > 99) and ($f
{echo "<B><font color=red>"._QXZ("ERROR: Field does not exist")."</B></font>\n<BR>";}
else
{
if ( ($table_exists < 1) and (!preg_match("/\|$field_label\|/i",$vicidial_list_fields)) )
if ( ($table_exists < 1) and (!preg_match("/\|$field_label\|/i",$vicidial_list_fields)) and ($field_duplicate=='N') )
{echo "<B><font color=red>"._QXZ("ERROR: Table does not exist")." custom_$list_id</B></font>\n<BR>";}
else
{
echo "<BR><BR><B><a href=\"$PHP_SELF?action=DELETE_CUSTOM_FIELD&list_id=$list_id&field_id=$field_id&field_label=$field_label&field_type=$field_type&ConFiRm=YES&DB=$DB\">"._QXZ("CLICK HERE TO CONFIRM DELETION OF THIS CUSTOM FIELD").": $field_label - $field_id - $list_id</a></B><BR><BR>";
echo "<BR><BR><B><a href=\"$PHP_SELF?action=DELETE_CUSTOM_FIELD&list_id=$list_id&field_id=$field_id&field_label=$field_label&field_type=$field_type&field_duplicate=$field_duplicate&ConFiRm=YES&DB=$DB\">"._QXZ("CLICK HERE TO CONFIRM DELETION OF THIS CUSTOM FIELD").": $field_label - $field_id - $list_id</a></B><BR><BR>";
}
}
@@ -720,7 +742,7 @@ if ( ($action == "DELETE_CUSTOM_FIELD") and ($list_id > 99) and ($field_id > 0)
else
{
### delete field function
$SQLsuccess = delete_field_function($DB,$link,$linkCUSTOM,$ip,$user,$table_exists,$field_id,$list_id,$field_label,$field_name,$field_description,$field_rank,$field_help,$field_type,$field_options,$field_size,$field_max,$field_default,$field_required,$field_cost,$multi_position,$name_position,$field_order,$vicidial_list_fields);
$SQLsuccess = delete_field_function($DB,$link,$linkCUSTOM,$ip,$user,$table_exists,$field_id,$list_id,$field_label,$field_name,$field_description,$field_rank,$field_help,$field_type,$field_options,$field_size,$field_max,$field_default,$field_required,$field_cost,$multi_position,$name_position,$field_order,$field_duplicate,$vicidial_list_fields);
if ($SQLsuccess > 0)
{echo _QXZ("SUCCESS: Custom Field Deleted")." - $list_id|$field_label\n<BR>";}
@@ -783,36 +805,61 @@ if ( ($action == "ADD_CUSTOM_FIELD") and ($list_id > 99) )
{echo "<B><font color=red>"._QXZ("ERROR: You must enter field options when adding a SELECT, MULTI, RADIO or CHECKBOX field type")." - $list_id|$field_label|$field_type|$field_options</B></font>\n<BR>";}
else
{
if ($field_exists > 0)
if ( ($field_exists > 0) and ($field_duplicate != 'Y') )
{echo "<B><font color=red>"._QXZ("ERROR: Field already exists for this list")." - $list_id|$field_label</B></font>\n<BR>";}
else
{
$table_exists=0;
#$linkCUSTOM=mysql_connect("$VARDB_server:$VARDB_port", "$VARDB_custom_user","$VARDB_custom_pass");
#if (!$linkCUSTOM) {die("Could not connect: $VARDB_server|$VARDB_port|$VARDB_database|$VARDB_custom_user|$VARDB_custom_pass" . mysqli_error());}
#mysql_select_db("$VARDB_database", $linkCUSTOM);
$linkCUSTOM=mysqli_connect("$VARDB_server", "$VARDB_custom_user", "$VARDB_custom_pass", "$VARDB_database", "$VARDB_port");
if (!$linkCUSTOM)
if ( ($field_exists < 1) and ($field_duplicate == 'Y') )
{echo "<B><font color=red>"._QXZ("ERROR: Field set to duplicate but original does not exist for this list")." - $list_id|$field_label|$field_duplicate</B></font>\n<BR>";}
else
{
die('MySQL '._QXZ("connect ERROR").': '. mysqli_connect_error());
if ( ($field_type!='TEXT') and ($field_duplicate == 'Y') )
{echo "<B><font color=red>"._QXZ("ERROR: Field set to duplicate but not TEXT type")." - $list_id|$field_label|$field_duplicate|$field_type</B></font>\n<BR>";}
else
{
$table_exists=0;
#$linkCUSTOM=mysql_connect("$VARDB_server:$VARDB_port", "$VARDB_custom_user","$VARDB_custom_pass");
#if (!$linkCUSTOM) {die("Could not connect: $VARDB_server|$VARDB_port|$VARDB_database|$VARDB_custom_user|$VARDB_custom_pass" . mysqli_error());}
#mysql_select_db("$VARDB_database", $linkCUSTOM);
$linkCUSTOM=mysqli_connect("$VARDB_server", "$VARDB_custom_user", "$VARDB_custom_pass", "$VARDB_database", "$VARDB_port");
if (!$linkCUSTOM)
{
die('MySQL '._QXZ("connect ERROR").': '. mysqli_connect_error());
}
$stmt="SHOW TABLES LIKE \"custom_$list_id\";";
$rslt=mysql_to_mysqli($stmt, $link);
$tablecount_to_print = mysqli_num_rows($rslt);
if ($tablecount_to_print > 0)
{$table_exists = 1;}
if ($DB>0) {echo "$stmt|$tablecount_to_print|$table_exists";}
if (preg_match("/\|$field_label\|/i",$vicidial_list_fields))
{$field_label = strtolower($field_label);}
if ($field_duplicate == 'Y')
{
$duplicate_field_count=0;
$stmt="SELECT count(*) from vicidial_lists_fields where list_id='$list_id' and field_label LIKE \"$field_label%\";";
if ($DB>0) {echo "$stmt";}
$rslt=mysql_to_mysqli($stmt, $link);
$dupscount_to_print = mysqli_num_rows($rslt);
if ($dupscount_to_print > 0)
{
$rowx=mysqli_fetch_row($rslt);
$duplicate_field_count = $rowx[0];
}
$field_label .= "_DUPLICATE_" . sprintf('%03d', $duplicate_field_count);
}
### add field function
$SQLsuccess = add_field_function($DB,$link,$linkCUSTOM,$ip,$user,$table_exists,$field_id,$list_id,$field_label,$field_name,$field_description,$field_rank,$field_help,$field_type,$field_options,$field_size,$field_max,$field_default,$field_required,$field_cost,$multi_position,$name_position,$field_order,$field_duplicate,$vicidial_list_fields,$mysql_reserved_words);
if ($SQLsuccess > 0)
{echo _QXZ("SUCCESS: Custom Field Added")." - $list_id|$field_label\n<BR>";}
}
}
$stmt="SHOW TABLES LIKE \"custom_$list_id\";";
$rslt=mysql_to_mysqli($stmt, $link);
$tablecount_to_print = mysqli_num_rows($rslt);
if ($tablecount_to_print > 0)
{$table_exists = 1;}
if ($DB>0) {echo "$stmt|$tablecount_to_print|$table_exists";}
if (preg_match("/\|$field_label\|/i",$vicidial_list_fields))
{$field_label = strtolower($field_label);}
### add field function
$SQLsuccess = add_field_function($DB,$link,$linkCUSTOM,$ip,$user,$table_exists,$field_id,$list_id,$field_label,$field_name,$field_description,$field_rank,$field_help,$field_type,$field_options,$field_size,$field_max,$field_default,$field_required,$field_cost,$multi_position,$name_position,$field_order,$vicidial_list_fields,$mysql_reserved_words);
if ($SQLsuccess > 0)
{echo _QXZ("SUCCESS: Custom Field Added")." - $list_id|$field_label\n<BR>";}
}
}
}
@@ -858,11 +905,14 @@ if ( ($action == "MODIFY_CUSTOM_FIELD_SUBMIT") and ($list_id > 99) and ($field_i
{$table_exists = 1;}
if ($DB>0) {echo "$stmt|$tablecount_to_print|$table_exists";}
if ($field_duplicate=='Y')
{$field_type='TEXT';}
if ($field_exists < 1)
{echo "<B><font color=red>"._QXZ("ERROR: Field does not exist")."</B></font>\n<BR>";}
else
{
if ( ($table_exists < 1) and (!preg_match("/\|$field_label\|/i",$vicidial_list_fields)) )
if ( ($table_exists < 1) and (!preg_match("/\|$field_label\|/i",$vicidial_list_fields)) and ($field_duplicate=='N') )
{echo "<B><font color=red>"._QXZ("ERROR: Table does not exist")."</B></font>\n<BR>";}
else
{
@@ -894,7 +944,7 @@ if ( ($action == "MODIFY_CUSTOM_FIELD_SUBMIT") and ($list_id > 99) and ($field_i
else
{
### modify field function
$SQLsuccess = modify_field_function($DB,$link,$linkCUSTOM,$ip,$user,$table_exists,$field_id,$list_id,$field_label,$field_name,$field_description,$field_rank,$field_help,$field_type,$field_options,$field_size,$field_max,$field_default,$field_required,$field_cost,$multi_position,$name_position,$field_order,$vicidial_list_fields);
$SQLsuccess = modify_field_function($DB,$link,$linkCUSTOM,$ip,$user,$table_exists,$field_id,$list_id,$field_label,$field_name,$field_description,$field_rank,$field_help,$field_type,$field_options,$field_size,$field_max,$field_default,$field_required,$field_cost,$multi_position,$name_position,$field_order,$field_duplicate,$vicidial_list_fields);
if ($SQLsuccess > 0)
{echo _QXZ("SUCCESS: Custom Field Modified")." - $list_id|$field_label\n<BR>";}
@@ -960,7 +1010,7 @@ if ( ($action == "MODIFY_CUSTOM_FIELDS") and ($list_id > 99) )
echo _QXZ("Records in this custom table").": $custom_records_count<br>\n";
echo "<center><TABLE width=$section_width cellspacing=3>\n";
$stmt="SELECT field_id,field_label,field_name,field_description,field_rank,field_help,field_type,field_options,field_size,field_max,field_default,field_cost,field_required,multi_position,name_position,field_order from vicidial_lists_fields where list_id='$list_id' order by field_rank,field_order,field_label;";
$stmt="SELECT field_id,field_label,field_name,field_description,field_rank,field_help,field_type,field_options,field_size,field_max,field_default,field_cost,field_required,multi_position,name_position,field_order,field_duplicate from vicidial_lists_fields where list_id='$list_id' order by field_rank,field_order,field_label;";
$rslt=mysql_to_mysqli($stmt, $link);
$fields_to_print = mysqli_num_rows($rslt);
$fields_list='';
@@ -984,6 +1034,7 @@ if ( ($action == "MODIFY_CUSTOM_FIELDS") and ($list_id > 99) )
$A_multi_position[$o] = $rowx[13];
$A_name_position[$o] = $rowx[14];
$A_field_order[$o] = $rowx[15];
$A_field_duplicate[$o] = $rowx[16];
$o++;
$rank_select .= "<option>$o</option>";
@@ -1013,6 +1064,11 @@ if ( ($action == "MODIFY_CUSTOM_FIELDS") and ($list_id > 99) )
$LcolorB='<font color=red>';
$LcolorE='</font>';
}
if ($A_field_duplicate[$o] == 'Y')
{
$LcolorB='<font color=#006600>';
$LcolorE='</font>';
}
if (preg_match('/1$|3$|5$|7$|9$/i', $o))
{$bgcolor='class="records_list_x"';}
else
@@ -1250,6 +1306,11 @@ if ( ($action == "MODIFY_CUSTOM_FIELDS") and ($list_id > 99) )
$LcolorB='<font color=red>';
$LcolorE='</font>';
}
if ($A_field_duplicate[$o] == 'Y')
{
$LcolorB='<font color=#006600>';
$LcolorE='</font>';
}
if (preg_match('/1$|3$|5$|7$|9$/i', $o))
{$bgcolor='bgcolor="#'. $SSstd_row2_background .'"';}
else
@@ -1260,6 +1321,7 @@ if ( ($action == "MODIFY_CUSTOM_FIELDS") and ($list_id > 99) )
echo "<input type=hidden name=DB value=$DB>\n";
echo "<input type=hidden name=field_id value=\"$A_field_id[$o]\">\n";
echo "<input type=hidden name=field_label value=\"$A_field_label[$o]\">\n";
echo "<input type=hidden name=field_duplicate value=\"$A_field_duplicate[$o]\">\n";
echo "<a name=\"ANCHOR_$A_field_label[$o]\">\n";
echo "<center><TABLE width=$section_width cellspacing=3 cellpadding=1>\n";
echo "<tr $bgcolor><td align=right>"._QXZ("Field Label")." $A_field_rank[$o]: </td><td align=left> $LcolorB<B>$A_field_label[$o]</B>$LcolorE $NWB#lists_fields-field_label$NWE </td></tr>\n";
@@ -1314,8 +1376,9 @@ if ( ($action == "MODIFY_CUSTOM_FIELDS") and ($list_id > 99) )
echo "<option value=\"INBOUND_ONLY\">"._QXZ("INBOUND_ONLY")."</option>\n";
echo "<option selected>$A_field_required[$o]</option>\n";
echo "</select> $NWB#lists_fields-field_required$NWE </td></tr>\n";
echo "<tr $bgcolor><td align=right>"._QXZ("Field Duplicate")." $A_field_rank[$o]: </td><td align=left>$A_field_duplicate[$o] $NWB#lists_fields-field_duplicate$NWE </td></tr>\n";
echo "<tr $bgcolor><td align=center colspan=2><input type=submit name=submit value=\""._QXZ("SUBMIT")."\"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;\n";
echo "<B><a href=\"$PHP_SELF?action=DELETE_CUSTOM_FIELD_CONFIRMATION&list_id=$list_id&field_id=$A_field_id[$o]&field_label=$A_field_label[$o]&field_type=$A_field_type[$o]&DB=$DB\">"._QXZ("DELETE THIS CUSTOM FIELD")."</a></B>";
echo "<B><a href=\"$PHP_SELF?action=DELETE_CUSTOM_FIELD_CONFIRMATION&list_id=$list_id&field_id=$A_field_id[$o]&field_label=$A_field_label[$o]&field_type=$A_field_type[$o]&field_duplicate=$A_field_duplicate[$o]&DB=$DB\">"._QXZ("DELETE THIS CUSTOM FIELD")."</a></B>";
echo "</td></tr>\n";
echo "</table></center></form><BR><BR>\n";
@@ -1379,6 +1442,10 @@ if ( ($action == "MODIFY_CUSTOM_FIELDS") and ($list_id > 99) )
echo "<option value=\"Y\">"._QXZ("YES")."</option>\n";
echo "<option value=\"INBOUND_ONLY\">"._QXZ("INBOUND_ONLY")."</option>\n";
echo "</select> $NWB#lists_fields-field_required$NWE </td></tr>\n";
echo "<tr $bgcolor><td align=right>"._QXZ("Field Duplicate").": </td><td align=left><select size=1 name=field_duplicate>\n";
echo "<option value=\"N\" SELECTED>"._QXZ("NO")."</option>\n";
echo "<option value=\"Y\">"._QXZ("YES")."</option>\n";
echo "</select> $NWB#lists_fields-field_duplicate$NWE </td></tr>\n";
echo "<tr $bgcolor><td align=center colspan=2><input type=submit name=submit value=\""._QXZ("Submit")."\"></td></tr>\n";
echo "</table></center></form><BR><BR>\n";
echo "</table></center><BR><BR>\n";
@@ -1565,7 +1632,7 @@ echo "\n\n\n<br><br><br>\n<font size=1> "._QXZ("runtime").": $RUNtime "._QXZ("se
################################################################################
##### BEGIN add field function
function add_field_function($DB,$link,$linkCUSTOM,$ip,$user,$table_exists,$field_id,$list_id,$field_label,$field_name,$field_description,$field_rank,$field_help,$field_type,$field_options,$field_size,$field_max,$field_default,$field_required,$field_cost,$multi_position,$name_position,$field_order,$vicidial_list_fields,$mysql_reserved_words)
function add_field_function($DB,$link,$linkCUSTOM,$ip,$user,$table_exists,$field_id,$list_id,$field_label,$field_name,$field_description,$field_rank,$field_help,$field_type,$field_options,$field_size,$field_max,$field_default,$field_required,$field_cost,$multi_position,$name_position,$field_order,$field_duplicate,$vicidial_list_fields,$mysql_reserved_words)
{
$table_exists=0;
$stmt="SHOW TABLES LIKE \"custom_$list_id\";";
@@ -1657,7 +1724,7 @@ function add_field_function($DB,$link,$linkCUSTOM,$ip,$user,$table_exists,$field
$SQLexecuted=0;
if ( ($field_type=='DISPLAY') or ($field_type=='SCRIPT') or (preg_match("/\|$field_label\|/i",$vicidial_list_fields)) )
if ( ($field_type=='DISPLAY') or ($field_type=='SCRIPT') or (preg_match("/\|$field_label\|/i",$vicidial_list_fields)) or ($field_duplicate=='Y') )
{
if ($DB) {echo "Non-DB $field_type field type, $field_label\n";}
@@ -1690,7 +1757,7 @@ function add_field_function($DB,$link,$linkCUSTOM,$ip,$user,$table_exists,$field
if ($SQLexecuted > 0)
{
$stmt="INSERT INTO vicidial_lists_fields set field_label='$field_label',field_name='$field_name',field_description='$field_description',field_rank='$field_rank',field_help='$field_help',field_type='$field_type',field_options=\"$field_options\",field_size='$field_size',field_max='$field_max',field_default='$field_default',field_required='$field_required',field_cost='$field_cost',list_id='$list_id',multi_position='$multi_position',name_position='$name_position',field_order='$field_order';";
$stmt="INSERT INTO vicidial_lists_fields set field_label='$field_label',field_name='$field_name',field_description='$field_description',field_rank='$field_rank',field_help='$field_help',field_type='$field_type',field_options=\"$field_options\",field_size='$field_size',field_max='$field_max',field_default='$field_default',field_required='$field_required',field_cost='$field_cost',list_id='$list_id',multi_position='$multi_position',name_position='$name_position',field_order='$field_order',field_duplicate='$field_duplicate';";
$rslt=mysql_to_mysqli($stmt, $link);
$field_update = mysqli_affected_rows($link);
if ($DB) {echo "$field_update|$stmt\n";}
@@ -1715,10 +1782,10 @@ function add_field_function($DB,$link,$linkCUSTOM,$ip,$user,$table_exists,$field
################################################################################
##### BEGIN modify field function
function modify_field_function($DB,$link,$linkCUSTOM,$ip,$user,$table_exists,$field_id,$list_id,$field_label,$field_name,$field_description,$field_rank,$field_help,$field_type,$field_options,$field_size,$field_max,$field_default,$field_required,$field_cost,$multi_position,$name_position,$field_order,$vicidial_list_fields)
function modify_field_function($DB,$link,$linkCUSTOM,$ip,$user,$table_exists,$field_id,$list_id,$field_label,$field_name,$field_description,$field_rank,$field_help,$field_type,$field_options,$field_size,$field_max,$field_default,$field_required,$field_cost,$multi_position,$name_position,$field_order,$field_duplicate,$vicidial_list_fields)
{
$field_db_exists=0;
if ( ($field_type=='DISPLAY') or ($field_type=='SCRIPT') or (preg_match("/\|$field_label\|/i",$vicidial_list_fields)) )
if ( ($field_type=='DISPLAY') or ($field_type=='SCRIPT') or (preg_match("/\|$field_label\|/i",$vicidial_list_fields)) or ($field_duplicate=='Y') )
{$field_db_exists=1;}
else
{
@@ -1732,6 +1799,9 @@ function modify_field_function($DB,$link,$linkCUSTOM,$ip,$user,$table_exists,$fi
else
{$field_sql = "ALTER TABLE custom_$list_id ADD $field_label ";}
if ($field_duplicate=='Y')
{$field_type='TEXT';}
$field_options_ENUM='';
$field_cost=1;
if ( ($field_type=='SELECT') or ($field_type=='RADIO') )
@@ -1804,7 +1874,7 @@ function modify_field_function($DB,$link,$linkCUSTOM,$ip,$user,$table_exists,$fi
$SQLexecuted=0;
if ( ($field_type=='DISPLAY') or ($field_type=='SCRIPT') or (preg_match("/\|$field_label\|/i",$vicidial_list_fields)) )
if ( ($field_type=='DISPLAY') or ($field_type=='SCRIPT') or (preg_match("/\|$field_label\|/i",$vicidial_list_fields)) or ($field_duplicate=='Y') )
{
if ($DB) {echo _QXZ("Non-DB")." $field_type "._QXZ("field type").", $field_label\n";}
$SQLexecuted++;
@@ -1830,7 +1900,7 @@ function modify_field_function($DB,$link,$linkCUSTOM,$ip,$user,$table_exists,$fi
if ($SQLexecuted > 0)
{
$stmt="UPDATE vicidial_lists_fields set field_label='$field_label',field_name='$field_name',field_description='$field_description',field_rank='$field_rank',field_help='$field_help',field_type='$field_type',field_options=\"$field_options\",field_size='$field_size',field_max='$field_max',field_default='$field_default',field_required='$field_required',field_cost='$field_cost',multi_position='$multi_position',name_position='$name_position',field_order='$field_order' where list_id='$list_id' and field_id='$field_id';";
$stmt="UPDATE vicidial_lists_fields set field_label='$field_label',field_name='$field_name',field_description='$field_description',field_rank='$field_rank',field_help='$field_help',field_type='$field_type',field_options=\"$field_options\",field_size='$field_size',field_max='$field_max',field_default='$field_default',field_required='$field_required',field_cost='$field_cost',multi_position='$multi_position',name_position='$name_position',field_order='$field_order',field_duplicate='$field_duplicate' where list_id='$list_id' and field_id='$field_id';";
$rslt=mysql_to_mysqli($stmt, $link);
$field_update = mysqli_affected_rows($link);
if ($DB) {echo "$field_update|$stmt\n";}
@@ -1855,11 +1925,11 @@ function modify_field_function($DB,$link,$linkCUSTOM,$ip,$user,$table_exists,$fi
################################################################################
##### BEGIN delete field function
function delete_field_function($DB,$link,$linkCUSTOM,$ip,$user,$table_exists,$field_id,$list_id,$field_label,$field_name,$field_description,$field_rank,$field_help,$field_type,$field_options,$field_size,$field_max,$field_default,$field_required,$field_cost,$multi_position,$name_position,$field_order,$vicidial_list_fields)
function delete_field_function($DB,$link,$linkCUSTOM,$ip,$user,$table_exists,$field_id,$list_id,$field_label,$field_name,$field_description,$field_rank,$field_help,$field_type,$field_options,$field_size,$field_max,$field_default,$field_required,$field_cost,$multi_position,$name_position,$field_order,$field_duplicate,$vicidial_list_fields)
{
$SQLexecuted=0;
if ( ($field_type=='DISPLAY') or ($field_type=='SCRIPT') or (preg_match("/\|$field_label\|/i",$vicidial_list_fields)) )
if ( ($field_type=='DISPLAY') or ($field_type=='SCRIPT') or (preg_match("/\|$field_label\|/i",$vicidial_list_fields)) or ($field_duplicate=='Y') )
{
if ($DB) {echo "Non-DB $field_type field type, $field_label\n";}
$SQLexecuted++;
+6
View File
@@ -141,6 +141,7 @@
# 171018-2203 - Added campaigns-scheduled_callbacks_email_alert entry
# 171020-0028 - Added whiteboard report entry
# 171114-1255 - Updated definitions of SALEs to specifically mention status flag of SALE set to Y
# 171116-1727 - Added lists_fields-field_duplicate entry
#
@@ -2400,6 +2401,11 @@ if ($SSqc_features_active > 0)
<BR>
<B><?php echo _QXZ("Field Required"); ?> -</B><?php echo _QXZ("If the campaign option allowing required fields is also enabled, this field allows you to force an agent to fill in this field before they can hang up the call. Y will affect all calls, INBOUND_ONLY will only affect calls received by the agent through an In-Group. This option will only work for the following custom field types: TEXT, AREA, DATE, SELECT, MULTI, RADIO, CHECKBOX. Default is N."); ?>
<BR>
<A NAME="lists_fields-field_duplicate">
<BR>
<B><?php echo _QXZ("Field Duplicate"); ?> -</B><?php echo _QXZ("This option will allow you to create a duplicate of a TEXT type custom field that already exists in a different location within your custom list fields form. This option only works with TEXT type fields. This option is only available when you create a new custom field entry. When an agent modifies the text in one of these duplicate fields and clicks to another field, the system will copy the value that they place in that duplicate field to the original field. Default is N."); ?>
<BR>
<A NAME="lists_fields-name_position">
<BR>