Patch by mark. 

diffs (166 lines):

diff -r 0f82cd2636b7 -r 1cf60d4ac4e7 cgi-bin/DW/Shop/Cart.pm
--- a/cgi-bin/DW/Shop/Cart.pm   Sun May 17 17:46:00 2009 +0000
+++ b/cgi-bin/DW/Shop/Cart.pm   Mon May 18 00:06:12 2009 +0000
@@ -36,8 +36,6 @@ sub get {
         my $uniq = LJ::UniqCookie->current_uniq
             or return undef;
 
-        # FIXME: we should memcache carts for people who aren't logged in
-
         $sql = 'uniq = ? AND userid IS NULL';
         @bind = ( $uniq );
 
@@ -47,11 +45,6 @@ sub get {
 
         # return this cart if loaded already
         return $u->{_cart} if $u->{_cart};
-
-        # see if this user has an active cart in memcache
-        my $cart = $u->memc_get( 'cart' );
-        return $u->{_cart} = $cart
-            if $cart;
 
         # faaail, have to load it
         $sql = 'userid = ?';
@@ -75,7 +68,6 @@ sub get {
         my $cart = $class->_build( thaw( $dbcart->{cartblob} ) );
         if ( $u ) {
             $u->{_cart} = $cart;
-            $u->memc_set( cart => $cart );
         }
         return $cart;
     }
@@ -226,8 +218,6 @@ sub save {
 sub save {
     my ( $self, %opts ) = @_;
 
-    my $memcache_data = $opts{no_memcache} ? 0 : 1;
-
     # we store the payment method id in the db
     my $paymentmethod_id = 
$DW::Shop::PAYMENTMETHODS{$self->paymentmethod}->{id} || 0;
 
@@ -242,14 +232,6 @@ sub save {
 
     # bail if error
     return 0 if $dbh->err;
-
-    # also toss this in memcache
-    my $u = LJ::load_userid( $self->{userid} );
-    if ( $memcache_data && LJ::isu( $u ) ) {
-        $u->memc_set( cart => $self );
-    }
-
-    # success!
     return 1;
 }
 
@@ -335,13 +317,13 @@ sub get_item {
 
 # get/set state
 sub state {
-    my ( $self, $newstate, %opts ) = @_;
+    my ( $self, $newstate ) = @_;
 
     return $self->{state}
         unless defined $newstate;
 
     $self->{state} = $newstate;
-    $self->save( no_memcache => $opts{no_memcache} );
+    $self->save;
 
     return $self->{state};
 }
@@ -349,13 +331,13 @@ sub state {
 
 # get/set payment method
 sub paymentmethod {
-    my ( $self, $newpaymentmethod, %opts ) = @_;
+    my ( $self, $newpaymentmethod ) = @_;
 
     return $self->{paymentmethod}
         unless defined $newpaymentmethod;
 
     $self->{paymentmethod} = $newpaymentmethod;
-    $self->save( no_memcache => $opts{no_memcache} );
+    $self->save;
 
     return $self->{paymentmethod};
 }
@@ -363,13 +345,13 @@ sub paymentmethod {
 
 # get/set email address
 sub email {
-    my ( $self, $newemail, %opts ) = @_;
+    my ( $self, $newemail ) = @_;
 
     return $self->{email}
         unless defined $newemail;
 
     $self->{email} = $newemail;
-    $self->save( no_memcache => $opts{no_memcache} );
+    $self->save;
 
     return $self->{email};
 }
diff -r 0f82cd2636b7 -r 1cf60d4ac4e7 cgi-bin/DW/Shop/Engine/CheckMoneyOrder.pm
--- a/cgi-bin/DW/Shop/Engine/CheckMoneyOrder.pm Sun May 17 17:46:00 2009 +0000
+++ b/cgi-bin/DW/Shop/Engine/CheckMoneyOrder.pm Mon May 18 00:06:12 2009 +0000
@@ -100,9 +100,6 @@ sub confirm_order {
         } ),
     } );
 
-    # delete cart from memcache
-    $u->memc_delete( 'cart' ) if LJ::isu( $u );
-
     return 2;
 }
 
diff -r 0f82cd2636b7 -r 1cf60d4ac4e7 cgi-bin/DW/Shop/Engine/PayPal.pm
--- a/cgi-bin/DW/Shop/Engine/PayPal.pm  Sun May 17 17:46:00 2009 +0000
+++ b/cgi-bin/DW/Shop/Engine/PayPal.pm  Mon May 18 00:06:12 2009 +0000
@@ -259,9 +259,6 @@ sub confirm_order {
             } ),
         } );
 
-        # delete cart from memcache
-        $u->memc_delete( 'cart' ) if LJ::isu( $u );
-
         return 1;
     }
 
@@ -281,9 +278,6 @@ sub confirm_order {
             sitename => $LJ::SITENAME,
         } ),
     } );
-
-    # delete cart from memcache
-    $u->memc_delete( 'cart' ) if LJ::isu( $u );
 
     return 2;
 }
@@ -413,11 +407,10 @@ sub process_ipn {
         return 1
             unless $cart &&
                    $cart->state == $DW::Shop::STATE_PEND_PAID &&
-                   $cart->paymentmethod eq 'creditcardpp';
+                   $cart->paymentmethod eq 'creditcardpp' &&
                    $cart->display_total == $form->{payment_gross};
 
-        # looks good, mark it paid
-        $cart->paymentmethod( 'creditcardpp' );
+        # looks good, mark it paid so it gets processed
         $cart->state( $DW::Shop::STATE_PAID );
     }
 
diff -r 0f82cd2636b7 -r 1cf60d4ac4e7 htdocs/shop/receipt.bml
--- a/htdocs/shop/receipt.bml   Sun May 17 17:46:00 2009 +0000
+++ b/htdocs/shop/receipt.bml   Mon May 18 00:06:12 2009 +0000
@@ -75,7 +75,7 @@ _c?>
         if ( LJ::did_post() && $POST{setpaid } ) {
             return "invalid form post\n"
                 unless LJ::check_form_auth();
-            $cart->state( $DW::Shop::STATE_PAID, no_memcache => 1 );
+            $cart->state( $DW::Shop::STATE_PAID );
             return BML::redirect( "$LJ::SITEROOT/shop/receipt?ordernum=" . 
$cart->ordernum );
         }
 
_______________________________________________
dw-changelog mailing list
[email protected]
http://lists.dwscoalition.org/mailman/listinfo/dw-changelog

Reply via email to