Make payment pages support the various pay_* sysbans.

        Patch by denise. 

diffs (132 lines):

diff -r 41c3e657d956 -r bea7fb029067 cgi-bin/DW/Shop.pm
--- a/cgi-bin/DW/Shop.pm        Sun Jul 26 21:24:27 2009 +0000
+++ b/cgi-bin/DW/Shop.pm        Sun Jul 26 23:45:48 2009 +0000
@@ -137,6 +137,25 @@ sub anonymous {
 }
 
 
+# returns a text error string if the remote is not allowed to use the
+# shop/payment system, undef means they're allowed
+sub remote_sysban_check {
+
+    # do sysban checks:
+    if ( LJ::sysban_check( 'pay_uniq', LJ::UniqCookie->current_uniq ) ) {
+        return BML::ml( '/shop.bml.paymentblock', { blocktype => "computer", 
email => $LJ::ACCOUNTS_EMAIL } );
+    } elsif ( my $remote = LJ::get_remote() ) {
+        if ( LJ::sysban_check( 'pay_user', $remote->user ) ) {
+            return BML::ml( '/shop.bml.paymentblock', { blocktype => 
"account", email => $LJ::ACCOUNTS_EMAIL } );
+        } elsif ( LJ::sysban_check( 'pay_email', $remote->email_raw ) ) {
+            return BML::ml( '/shop.bml.paymentblock', { blocktype => "email 
address", email => $LJ::ACCOUNTS_EMAIL } );
+        }
+    }
+
+    # looks good
+    return undef;
+}
+
 
################################################################################
 ## LJ::User methods
 
################################################################################
diff -r 41c3e657d956 -r bea7fb029067 htdocs/shop.bml
--- a/htdocs/shop.bml   Sun Jul 26 21:24:27 2009 +0000
+++ b/htdocs/shop.bml   Sun Jul 26 23:45:48 2009 +0000
@@ -31,6 +31,9 @@ body<=
 
     $title = BML::ml( '.title', { sitename => $LJ::SITENAMESHORT } );
 
+    my $err = DW::Shop->remote_sysban_check;
+    return $err if $err;
+
     my $ret;
 
     $ret .= DW::Widget::ShopCartStatusBar->render( %GET );
diff -r 41c3e657d956 -r bea7fb029067 htdocs/shop.bml.text
--- a/htdocs/shop.bml.text      Sun Jul 26 21:24:27 2009 +0000
+++ b/htdocs/shop.bml.text      Sun Jul 26 23:45:48 2009 +0000
@@ -1,6 +1,8 @@
 ;; -*- coding: utf-8 -*-
 
 .intro=Welcome to the [[sitename]] shop!  If you are interested in supporting 
[[sitename]] or are just looking for more features for your account, you have 
come to the right place.</p><p>To purchase something from our shop, build your 
order and then select your preferred method of payment. If you select 
PayPal/Credit Card, you'll be forwarded to PayPal, our merchant processor. If 
you select Check/Money Order, you will be provided instructions on where to 
send it after you confirm your order.
+
+.paymentblock=We're sorry, but your [[blocktype]] has been blocked from making 
payments. For more information about this block, please contact [[email]].
 
 .sideblurb=You can learn about paid accounts <a [[aopts]]>here</a>.
 
diff -r 41c3e657d956 -r bea7fb029067 htdocs/shop/account.bml
--- a/htdocs/shop/account.bml   Sun Jul 26 21:24:27 2009 +0000
+++ b/htdocs/shop/account.bml   Sun Jul 26 23:45:48 2009 +0000
@@ -40,6 +40,9 @@ body<=
     my $remote = LJ::get_remote();
     return $ML{'.error.invalidself'}
         if $for eq 'self' && ( !$remote || !$remote->is_personal );
+
+    my $err = DW::Shop->remote_sysban_check;
+    return $err if $err;
 
     my $account_type = DW::Pay::get_account_type( $remote );
     return $ML{'.error.invalidself.perm'}
diff -r 41c3e657d956 -r bea7fb029067 htdocs/shop/cart.bml
--- a/htdocs/shop/cart.bml      Sun Jul 26 21:24:27 2009 +0000
+++ b/htdocs/shop/cart.bml      Sun Jul 26 23:45:48 2009 +0000
@@ -30,6 +30,9 @@ body<=
 
     $title = $ML{'.title'};
 
+    my $err = DW::Shop->remote_sysban_check;
+    return $err if $err;
+
     my $ret;
 
     if ( LJ::did_post() ) {
diff -r 41c3e657d956 -r bea7fb029067 htdocs/shop/checkout.bml
--- a/htdocs/shop/checkout.bml  Sun Jul 26 21:24:27 2009 +0000
+++ b/htdocs/shop/checkout.bml  Sun Jul 26 23:45:48 2009 +0000
@@ -30,6 +30,9 @@ body<=
     LJ::need_res( 'stc/shop.css' );
     LJ::set_active_resource_group( 'jquery' );
 
+    my $err = DW::Shop->remote_sysban_check;
+    return $err if $err;
+
     # get their shop/cart
     my $cart = DW::Shop->get->cart;
     return $ML{'.error.nocart'}
diff -r 41c3e657d956 -r bea7fb029067 htdocs/shop/confirm.bml
--- a/htdocs/shop/confirm.bml   Sun Jul 26 21:24:27 2009 +0000
+++ b/htdocs/shop/confirm.bml   Sun Jul 26 23:45:48 2009 +0000
@@ -27,6 +27,9 @@ body<=
         unless LJ::is_enabled( 'payments' );
 
     $title = $ML{'.title'};
+
+    my $err = DW::Shop->remote_sysban_check;
+    return $err if $err;
 
     my ( $ordernum, $token, $payerid ) = ( $GET{ordernum}, $GET{token}, 
$GET{PayerID} );
     my ( $cart, $eng, $paymentmethod );
diff -r 41c3e657d956 -r bea7fb029067 htdocs/shop/creditcard.bml
--- a/htdocs/shop/creditcard.bml        Sun Jul 26 21:24:27 2009 +0000
+++ b/htdocs/shop/creditcard.bml        Sun Jul 26 23:45:48 2009 +0000
@@ -29,6 +29,9 @@ body<=
     # this page uses new style JS
     LJ::need_res( 'stc/shop.css' );
     LJ::set_active_resource_group( 'jquery' );
+
+    my $err = DW::Shop->remote_sysban_check;
+    return $err if $err;
 
     # get their shop/cart
     my $cart = DW::Shop->get->cart;
diff -r 41c3e657d956 -r bea7fb029067 htdocs/shop/receipt.bml
--- a/htdocs/shop/receipt.bml   Sun Jul 26 21:24:27 2009 +0000
+++ b/htdocs/shop/receipt.bml   Sun Jul 26 23:45:48 2009 +0000
@@ -23,6 +23,9 @@ _c?>
 
     return BML::redirect( "$LJ::SITEROOT/" )
         unless LJ::is_enabled( 'payments' );
+
+    my $err = DW::Shop->remote_sysban_check;
+    return $err if $err;
 
     my $ordernum = $GET{ordernum};
 
_______________________________________________
dw-changelog mailing list
[email protected]
http://lists.dwscoalition.org/mailman/listinfo/dw-changelog

Reply via email to