[interchange-cvs] interchange - heins modified 2 files
interchange-cvs at icdevgroup.org
interchange-cvs at icdevgroup.org
Sat Mar 5 14:01:55 EST 2005
User: heins
Date: 2005-03-05 19:01:54 GMT
Modified: lib/Vend UserDB.pm Order.pm
Log:
* Change get_cart routine so that it will not screw up item groups on
a merge. Problem identified by Brian Kaney <brian at vermonster.com>.
* Change assignment of mv_mi so that the value will be definitely unique
for a single user session.
Revision Changes Path
2.34 +34 -3 interchange/lib/Vend/UserDB.pm
rev 2.34, prev_rev 2.33
Index: UserDB.pm
===================================================================
RCS file: /var/cvs/interchange/lib/Vend/UserDB.pm,v
retrieving revision 2.33
retrieving revision 2.34
diff -u -r2.33 -r2.34
--- UserDB.pm 17 Dec 2004 21:08:46 -0000 2.33
+++ UserDB.pm 5 Mar 2005 19:01:54 -0000 2.34
@@ -1,6 +1,6 @@
# Vend::UserDB - Interchange user database functions
#
-# $Id: UserDB.pm,v 2.33 2004/12/17 21:08:46 mheins Exp $
+# $Id: UserDB.pm,v 2.34 2005/03/05 19:01:54 mheins Exp $
#
# Copyright (C) 2002-2003 Interchange Development Group
# Copyright (C) 1996-2002 Red Hat, Inc.
@@ -17,7 +17,7 @@
package Vend::UserDB;
-$VERSION = substr(q$Revision: 2.33 $, 10);
+$VERSION = substr(q$Revision: 2.34 $, 10);
use vars qw!
$VERSION
@@ -1629,8 +1629,39 @@
if($opt->{merge}) {
$to = [] unless ref $to;
+ my %used;
+ my %alias;
+ my $max;
+
+ for(@$to) {
+ my $master;
+ next unless $master = $_->{mv_mi};
+ $used{$master} = 1;
+ $max = $master if $master > $max;
+ }
+
+ $max++;
+
+ my $rename;
+ my $alias = 100;
+ for(@$cart) {
+ my $master;
+ next unless $master = $_->{mv_mi};
+ next unless $used{$master};
+
+ if(! $_->{mv_si}) {
+ $alias{$master} = $max++;
+ $_->{mv_mi} = $alias{$master};
+ }
+ else {
+ $_->{mv_mi} = $alias{$master};
+ }
+ }
+
push(@$to,@$cart);
- } else {
+
+ }
+ else {
@$to = @$cart;
}
}
2.68 +12 -3 interchange/lib/Vend/Order.pm
rev 2.68, prev_rev 2.67
Index: Order.pm
===================================================================
RCS file: /var/cvs/interchange/lib/Vend/Order.pm,v
retrieving revision 2.67
retrieving revision 2.68
diff -u -r2.67 -r2.68
--- Order.pm 10 Feb 2005 06:45:40 -0000 2.67
+++ Order.pm 5 Mar 2005 19:01:54 -0000 2.68
@@ -1,6 +1,6 @@
# Vend::Order - Interchange order routing routines
#
-# $Id: Order.pm,v 2.67 2005/02/10 06:45:40 mheins Exp $
+# $Id: Order.pm,v 2.68 2005/03/05 19:01:54 mheins Exp $
#
# Copyright (C) 2002-2003 Interchange Development Group
# Copyright (C) 1996-2002 Red Hat, Inc.
@@ -29,7 +29,7 @@
package Vend::Order;
require Exporter;
-$VERSION = substr(q$Revision: 2.67 $, 10);
+$VERSION = substr(q$Revision: 2.68 $, 10);
@ISA = qw(Exporter);
@@ -2457,9 +2457,18 @@
}
@group = split /\0/, (delete $CGI::values{mv_order_group} || '');
+
+ my $inc;
for( my $i = 0; $i < @group; $i++ ) {
#::logDebug("processing order group=$group[$i]");
- $attr{mv_mi}->[$i] = $group[$i] ? ++$Vend::Session->{pageCount} : 0;
+ if($group[$i]) {
+ $inc ||= time();
+ my $add = sprintf('%06d', ++$Vend::Session->{pageCount});
+ $attr{mv_mi}->[$i] = $inc . $add;
+ }
+ else {
+ $attr{mv_mi}->[$i] = 0;
+ }
}
$j = 0;
More information about the interchange-cvs
mailing list