[interchange-cvs] interchange - heins modified 2 files

interchange-cvs at icdevgroup.org interchange-cvs at icdevgroup.org
Fri Oct 17 01:08:23 EDT 2003


User:      heins
Date:      2003-10-17 04:08:23 GMT
Modified:  code/SystemTag selected.coretag checked.coretag
Log:
* Implement enhancement to checked/selected tags provided by Mat Jones. Thanks!

Revision  Changes    Path
1.5       +22 -2     interchange/code/SystemTag/selected.coretag


rev 1.5, prev_rev 1.4
Index: selected.coretag
===================================================================
RCS file: /var/cvs/interchange/code/SystemTag/selected.coretag,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- selected.coretag	7 May 2003 01:07:28 -0000	1.4
+++ selected.coretag	17 Oct 2003 04:08:22 -0000	1.5
@@ -18,9 +18,29 @@
 	my $r = '';
 
 	return ' SELECTED' if $ref eq $value;
+
+	if ($opt->{delimiter}) {
+		$opt->{multiple} = 1;
+	}
+
 	if ($opt->{multiple}) {
-		my $regex = quotemeta $value;
-		return ' SELECTED' if $ref =~ /(?:^|\0)$regex(?:$|\0)/i;
+	    
+	    my $be;
+	    my $ee;
+	    $opt->{delimiter} = "\0" unless defined $opt->{delimiter};
+
+	    if (length $opt->{delimiter}) {
+		my $del = Vend::Interpolate::get_joiner($opt->{delimiter}, "\0");
+		$be = '(?:^|' . $del . ')'; ;
+		$ee = '(?:$|' . $del . ')'; ;
+	    }
+	    else {
+		$be = '';
+		$ee = '';
+	    }
+
+	    my $regex = qr/$be\Q$value\E$ee/;
+	    return ' SELECTED' if $ref =~ $regex;
 	}
 
 	return '';



1.5       +21 -3     interchange/code/SystemTag/checked.coretag


rev 1.5, prev_rev 1.4
Index: checked.coretag
===================================================================
RCS file: /var/cvs/interchange/code/SystemTag/checked.coretag,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- checked.coretag	7 May 2003 01:07:28 -0000	1.4
+++ checked.coretag	17 Oct 2003 04:08:22 -0000	1.5
@@ -19,11 +19,29 @@
 
 	return ' CHECKED' if $ref eq $value;
 
-	if ($opt->{multiple}) {
-		my $regex = quotemeta $value;
-		return ' CHECKED' if $ref =~ /(?:^|\0)$regex(?:$|\0)/i;
+	if ($opt->{delimiter}) {
+		$opt->{multiple} = 1;
 	}
 
+	if ($opt->{multiple}) {
+	    
+	    my $be;
+	    my $ee;
+	    $opt->{delimiter} = "\0" unless defined $opt->{delimiter};
+
+	    if (length $opt->{delimiter}) {
+		my $del = Vend::Interpolate::get_joiner($opt->{delimiter}, "\0");
+		$be = '(?:^|' . $del . ')'; ;
+		$ee = '(?:$|' . $del . ')'; ;
+	    }
+	    else {
+		$be = '';
+		$ee = '';
+	    }
+
+	    my $regex = qr/$be\Q$value\E$ee/;
+	    return ' CHECKED' if $ref =~ $regex;
+	}
 	return '';
 }
 EOR








More information about the interchange-cvs mailing list