[interchange-cvs] interchange - racke modified code/UserTag/formel.tag

interchange-cvs at icdevgroup.org interchange-cvs at icdevgroup.org
Thu Oct 6 04:46:15 EDT 2005


User:      racke
Date:      2005-10-06 08:46:14 GMT
Modified:  code/UserTag formel.tag
Log:
keep user input for checkboxes with multiple answers

Revision  Changes    Path
1.12      +18 -6     interchange/code/UserTag/formel.tag


rev 1.12, prev_rev 1.11
Index: formel.tag
===================================================================
RCS file: /anon_cvs/repository/interchange/code/UserTag/formel.tag,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- formel.tag	10 Feb 2005 14:38:39 -0000	1.11
+++ formel.tag	6 Oct 2005 08:46:14 -0000	1.12
@@ -1,11 +1,11 @@
-# Copyright 2002-2003 Interchange Development Group (http://www.icdevgroup.org/)
-# Copyright 2000-2003 Stefan Hornburg (racke at linuxia.de)
+# Copyright 2002-2005 Interchange Development Group (http://www.icdevgroup.org/)
+# Copyright 2002-2005 Stefan Hornburg (racke at linuxia.de)
 # Licensed under the GNU GPL v2. See file LICENSE for details.
-# $Id: formel.tag,v 1.11 2005/02/10 14:38:39 docelic Exp $
+# $Id: formel.tag,v 1.12 2005/10/06 08:46:14 racke Exp $
 
 UserTag formel Order   label name type size
 UserTag formel addAttr
-UserTag formel Version $Revision: 1.11 $
+UserTag formel Version $Revision: 1.12 $
 UserTag formel Routine <<EOF
 sub {
 	my ($label, $name, $type, $size, $opt) = @_;
@@ -74,7 +74,11 @@
 	}
 
 	if ($type eq 'radio' || $type eq 'checkbox') {		
-		my ($rlabel, $rvalue, $select);
+		my ($rlabel, $rvalue, $select, @vals);
+		
+		if ($type eq 'checkbox') {
+			@vals = split(/\0/, $::Values->{$name});
+		}
 
 		for my $button (split (/\s*,\s*/, $opt->{choices})) {
 			$select = '';
@@ -86,7 +90,15 @@
 				$rvalue = $rlabel = $button;
 			}
 
-			if ($::Values->{$name} eq $rvalue) {
+			if ($type eq 'checkbox') {
+				# multiple values possible for checkboxes
+				for my $val (@vals) {
+					if ($val eq $rvalue) {
+						$select = 'checked';
+						last;
+					}
+				}
+			} elsif ($::Values->{$name} eq $rvalue) {
 				$select = ' checked';
 			}
 








More information about the interchange-cvs mailing list