[interchange-cvs] interchange - heins modified lib/Vend/Interpolate.pm

interchange-core@interchange.redhat.com interchange-core@interchange.redhat.com
Tue Nov 6 17:54:00 2001


User:      heins
Date:      2001-11-06 22:50:51 GMT
Modified:  lib/Vend Interpolate.pm
Log:
	* Fix bug with mv_spacer (option typo)
	* Add extra and js parameters to item-options

Revision  Changes    Path
2.26      +31 -12    interchange/lib/Vend/Interpolate.pm


rev 2.26, prev_rev 2.25
Index: Interpolate.pm
===================================================================
RCS file: /anon_cvs/repository/interchange/lib/Vend/Interpolate.pm,v
retrieving revision 2.25
retrieving revision 2.26
diff -u -r2.25 -r2.26
--- Interpolate.pm	2001/10/30 18:57:35	2.25
+++ Interpolate.pm	2001/11/06 22:50:51	2.26
@@ -1,6 +1,6 @@
 # Vend::Interpolate - Interpret Interchange tags
 # 
-# $Id: Interpolate.pm,v 2.25 2001/10/30 18:57:35 jon Exp $
+# $Id: Interpolate.pm,v 2.26 2001/11/06 22:50:51 mheins Exp $
 #
 # Copyright (C) 1996-2001 Red Hat, Inc. <interchange@redhat.com>
 #
@@ -27,7 +27,7 @@
 require Exporter;
 @ISA = qw(Exporter);
 
-$VERSION = substr(q$Revision: 2.25 $, 10);
+$VERSION = substr(q$Revision: 2.26 $, 10);
 
 @EXPORT = qw (
 
@@ -475,16 +475,14 @@
 
 	if ( $::Pragma->{path_adjust} ) {
 		my $dir = $Vend::Cfg->{StaticPath};
-
+#::logDebug("have a dir for path_adjust, $dir");
 		if ($dir) {
-			$$text =~ s#(<a\s+[^>]*?href=")(/[^"]+)#
-						$1 . $dir . $2#ige;
-			$$text =~ s#(<i\w+\s+[^>]*?src=")(/[^"]*)#
-						$1 . $dir . $2#ige;
-	        $$text =~ s#(<body\s+[^>]*?background=")(/[^"]+)#
-						$1 . $dir . $2#ige;
-	        $$text =~ s#(<t(?:[dhr]|able)\s+[^>]*?background=")(/[^"]+)#
-						$1 . $dir . $2#ige;
+			$$text =~ s{(<a(?:rea)?\s+[^>]*?href=)"(/[^"]+)"} {$1'$dir$2'}ig;
+			$$text =~ s{(<link\s+[^>]*?href=)"(/[^"]+)"}      {$1'$dir$2'}ig;
+			$$text =~ s{(<i\w+\s+[^>]*?src=)"(/[^"]*)"}       {$1'$dir$2'}ig;
+	        $$text =~ s{(<body\s+[^>]*?background=)"(/[^"]+)"}{$1'$dir$2'}ig;
+	        $$text =~ s{(<t(?:[dhr]|able)\s+[^>]*?background=)"(/[^"]+)"}
+					   {$1'$dir$2'}ig;
 		}
 	}
 
@@ -971,6 +969,10 @@
 					return $val 
 						unless $val =~ m:(\d+)[-/]+(\d+)[-/]+(\d+):;
 					my ($yr, $mon, $day) = ($3, $1, $2);
+
+					my $time;
+					$val =~ /:(\d+)$/
+						and $time = $1;
 					if(length($yr) < 4) {
 						$yr =~ s/^0//;
 						$yr = $yr < 50 ? $yr + 2000 : $yr + 1900;
@@ -978,6 +980,8 @@
 					$mon =~ s/^0//;
 					$day =~ s/^0//;
 					$val = sprintf("%d%02d%02d", $yr, $mon, $day);
+					return $val unless $time;
+					$val .= sprintf('%04d', $time);
 					return $val;
 				},
 	'checkbox' =>		sub {
@@ -2074,6 +2078,8 @@
 								attribute => 'mv_sku',
 								price_data => $ref->[6],
 								price => $opt->{price},
+								extra => $opt->{extra},
+								js => $opt->{js},
 								item => $phony,
 							},
 							$phony || undef,
@@ -2140,6 +2146,8 @@
 								price_data => $price,
 								price => $opt->{price},
 								item => $item,
+								extra => $opt->{extra},
+								js => $opt->{js},
 								default => undef,
 							},
 							$item || undef,
@@ -2180,6 +2188,8 @@
 								price_data => $ref->[6],
 								price => $opt->{price},
 								item => $item,
+								extra => $opt->{extra},
+								js => $opt->{js},
 								default => undef,
 							},
 							$item || undef,
@@ -3553,6 +3563,15 @@
 		$Vend::Session->{$aloc}{$href} = $opt->{alias};
 	}
 
+	if($opt->{form} eq 'auto') {
+		my $form = '';
+		my %skip = qw/form 1 href 1 reparse 1/;
+		while( my ($k, $v) = each %$opt) {
+			next if $skip{$k};
+			$form .= "$k=$v\n";
+		}
+		$opt->{form} = $form;
+	}
 
 	$href = 'process' unless $href;
 	$href =~ s:^/+::;
@@ -5226,7 +5245,7 @@
 			$row->{mv_level} = $level;
 			$row->{mv_spacing} = $level * $mult;
 			$row->{mv_spacer} = $opt->{spacer} x $row->{mv_spacing}
-				if $opt->{mv_spacer};
+				if $opt->{spacer};
 			$row->{mv_increment} = $increment++;
 			push(@rows, $row);
 			my $code = $row->{$keyfield};