1 _info?>Payment Center body<= LiveJournal services or clothing items, and then pay using a credit card, PayPal account, or mailing in a check with your order number. You can review the current status of any of your paid accounts or services by checking the Paid Account Status page. p?> identity) { return ""; } if (! $COOKIE{'cart'} && $cart =~ /^(\d+)-(\d+)$/) { $COOKIE{'cart'} = $cart; } # FIXME: remove after ugly hack is gone if ($LJ::PAY_INCLUDE_DISKQUOTA && $GET{include}) { $COOKIE{'ljpayinclude'} = $GET{include}; } my $cartobj = LJ::Pay::load_cart($cart); if ($cartobj && $cartobj->{'userid'}) { return "You must be logged in as this cart's owner to proceed with checkout." unless $remote; return "You do not own this cart. If you'd like to start a new cart, please click " . "here." unless $cartobj->{'userid'} == $remote->{'userid'}; } if ($GET{'c'} eq "new") { delete $COOKIE{'cart'}; undef $cart; } # see if cart's dead or c=new (invalid, so load new cart) if (! $cartobj && $cart) { delete $COOKIE{'cart'}; undef $cart; } # don't let them modify the cart if they've already started # any sort of checkout process my $can_mod = ! $cartobj || LJ::Pay::can_mod_cart($cartobj); # display a configurable banner if it exists $ret .= ref $LJ::PAY_MARQUEE_HTML eq 'CODE' ? $LJ::PAY_MARQUEE_HTML->() : $LJ::PAY_MARQUEE_HTML . ''; $ret .= "
"; return $ret; } # let 'em know if cart is locked unless ($can_mod) { $ret .= ""; $ret .= ""; $ret .= " p?>"; return $ret; } if (LJ::Pay::cart_needs_shipping($cartobj)) { $ret .= "Notice: To minimize costs, we have a strict no return policy. If you're buying clothing items, be sure to consult the size chart first. p?>"; } # current account summary if ($remote) { $ret .= ""; $ret .= "account status page. p?>"; $ret .= LJ::Pay::account_summary($remote); } # add items to order $ret .= "underage) { push @items, ("coppa", "Age Verification (for COPPA Compliance)"); } # permanent account if ($LJ::PERM_SALE) { push @items, ("perm", LJ::Pay::product_name("perm") . " (\$150.00 USD)"); } # paid accounts foreach my $mo (sort { $b <=> $a } keys %LJ::Pay::account) { next unless $mo && $LJ::Pay::account{$mo}; push @items, ("paidacct-$mo", LJ::Pay::product_name("paidacct", undef, $mo) . " (\$$LJ::Pay::account{$mo}->{'amount'}.00 USD)"); } # bonus features # FIXME: this is an ugly hack just so we can give out ?include=diskquota # urls for a limited beta of the disk quota purchase service. # should be removed later. my @bonus_list = LJ::Pay::bonus_item_list($remote, $cartobj); while (my ($k, $v) = splice(@bonus_list, 0, 2)) { next unless ! $LJ::PAY_INCLUDE_DISKQUOTA || $COOKIE{'ljpayinclude'} eq 'diskquota' || $k !~ /diskquota/; push @items, $k, $v; } # pre-hack code #push @items, LJ::Pay::bonus_item_list($remote, $cartobj); # rename tokens push @items, ("rename", LJ::Pay::product_name("rename") . " (\$15.00 USD)"); # coupons foreach my $amt (@LJ::Pay::coupon) { push @items, ("coupon-$amt", LJ::Pay::product_name("coupon", "dollaroff", $amt) . " (\$$amt USD)"); } # item drop-down $ret .= "Item: | " . LJ::html_select({ name => 'item', selected => $GET{'item'}, }, @items) . LJ::help_icon("pay_item", " ") . " |
Recipient: | "; $ret .= "";
if ($remote) {
my $checked = $GET{'for'} ? "" : "checked='checked'";
$ret .= " : " . LJ::ljuser($remote->{'user'}) . " "; } else { $ret .= " : (you must first login) "; } # other user my $checked = $GET{'for'} ? "checked='checked'" : ""; my $val_otheruser = LJ::ehtml($GET{'for'}); $ret .= " "; $ret .= " "; $ret .= " (new users: use this last option)"; $ret .= " |
Other options: | ";
$ret .= " \n";
$ret .= " $ML{'.deliverydate.label'} |