+=item append_fuzzyfiles FIRSTNAME LASTNAME COMPANY ADDRESS1
+
+=cut
+
+sub append_fuzzyfiles {
+ #my( $first, $last, $company ) = @_;
+
+ check_and_rebuild_fuzzyfiles();
+
+ #foreach my $fuzzy (@fuzzyfields) {
+ foreach my $fuzzy ( 'cust_main.first', 'cust_main.last', 'cust_main.company',
+ 'cust_location.address1',
+ 'cust_main.ship_company',
+ ) {
+
+ append_fuzzyfiles_fuzzyfield($fuzzy, shift);
+
+ }
+
+ 1;
+}
+
+=item append_fuzzyfiles_fuzzyfield COLUMN VALUE
+
+=item append_fuzzyfiles_fuzzyfield TABLE.COLUMN VALUE
+
+=cut
+
+use Fcntl qw(:flock);
+sub append_fuzzyfiles_fuzzyfield {
+ my( $fuzzyfield, $value ) = @_;
+
+ my $dir = $FS::UID::conf_dir. "/cache.". $FS::UID::datasrc;
+
+
+ my ($field, $table) = reverse split('\.', $fuzzyfield);
+ $table ||= 'cust_main';
+
+ return unless length($value);
+
+ open(CACHE, '>>:encoding(UTF-8)', "$dir/$table.$field" )
+ or die "can't open $dir/$table.$field: $!";
+ flock(CACHE,LOCK_EX)
+ or die "can't lock $dir/$table.$field: $!";
+
+ print CACHE "$value\n";
+
+ flock(CACHE,LOCK_UN)
+ or die "can't unlock $dir/$table.$field: $!";
+ close CACHE;
+
+}
+