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 .= "
"; $ret .= LJ::html_hidden("cart", $cart); $ret .= "
"; LJ::Pay::render_cart($cartobj, \$ret, { 'checkout' => 1, 'pics' => 1, 'remove' => $can_mod, }); $ret .= "
"; # let 'em know if cart is paid for (if they're actually viewing a cart) if ($cartobj && $cartobj->{'mailed'} ne "C") { $ret .= "{'daterecv'}. p?>"; $ret .= ""; $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 .= ""; $ret .= ""; # recipient $ret .= ""; $ret .= ""; # gift options $ret .= ""; # add $ret .= ""; $ret .= "
Item:" . LJ::html_select({ name => 'item', selected => $GET{'item'}, }, @items) . LJ::help_icon("pay_item", " ") . "
Recipient:"; 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'}
$ML{'.deliverydate.details'}"; $ret .= "

p?>"; $ret .= "\n"; # close add form $ret .= ""; $ret .= ""; $ret .= "
"; $ret .= LJ::html_hidden("action:coupon", 1); $ret .= LJ::html_hidden("cart", $cart); $ret .= ""; $ret .= ""; $ret .= "
"; # Tshirt stuff $ret .= ""; $ret .= "LiveJournal Store. p?>"; return $ret; } _code?> <=body page?>