[interchange-cvs] interchange - jon modified dist/usertag/summary.tag

interchange-core@icdevgroup.org interchange-core@icdevgroup.org
Thu Jan 23 23:41:01 2003


User:      jon
Date:      2003-01-24 04:40:51 GMT
Modified:  dist/usertag Tag: STABLE_4_8-branch summary.tag
Log:
Merge from trunk:

* Avoid persistent storage to make [summary] safe in prefork mode.

Revision  Changes    Path
No                   revision



No                   revision



2.0.2.1   +5 -5      interchange/dist/usertag/Attic/summary.tag


rev 2.0.2.1, prev_rev 2.0
Index: summary.tag
===================================================================
RCS file: /var/cvs/interchange/dist/usertag/Attic/summary.tag,v
retrieving revision 2.0
retrieving revision 2.0.2.1
diff -u -u -r2.0 -r2.0.2.1
--- summary.tag	18 Jul 2001 02:22:39 -0000	2.0
+++ summary.tag	24 Jan 2003 04:40:51 -0000	2.0.2.1
@@ -13,19 +13,19 @@
 UserTag summary PosNumber 1
 UserTag summary addAttr
 UserTag summary Routine <<EOF
-use vars qw/%summary_hash/;
 sub {
     my ($amount, $opt) = @_;
+	my $summary_hash = $::Instance->{tag_summary_hash} ||= {};
 	my $name;
 	unless ($name = $opt->{name} ) {
 		$name = 'ONLY0000';
-		%summary_hash = () if Vend::Util::is_yes($opt->{reset});
+		%$summary_hash = () if Vend::Util::is_yes($opt->{reset});
 	}
 	else {
-		$summary_hash{$name} = 0 if Vend::Util::is_yes($opt->{reset});
+		$summary_hash->{$name} = 0 if Vend::Util::is_yes($opt->{reset});
 	}
-	$summary_hash{$name} += $amount if length $amount;
-	$amount = $summary_hash{$name} if Vend::Util::is_yes($opt->{total});
+	$summary_hash->{$name} += $amount if length $amount;
+	$amount = $summary_hash->{$name} if Vend::Util::is_yes($opt->{total});
 	return '' if $opt->{hide};
 	return sprintf($opt->{format}, $amount) if $opt->{format};
     return Vend::Util::currency($amount) if $opt->{currency};