
Undoes 714b337
because github seems to no longer require chmod +x
for syntax highlighting extensionless files.
39 lines
990 B
Perl
39 lines
990 B
Perl
#!perl
|
|
|
|
HELP "cash" => "Checkout without a user account";
|
|
|
|
sub command :Tab(cash) {
|
|
my ($self, $cart, $command) = @_;
|
|
|
|
return NEXT if $command ne 'cash';
|
|
|
|
call_hooks("checkout", $cart, 'cash', 0); # Fake checkout
|
|
$cart->empty;
|
|
|
|
return ACCEPT;
|
|
}
|
|
|
|
sub hook_checkout {
|
|
my ($class, $cart, $user, $transaction_id) = @_;
|
|
|
|
# Hack42 for some reason used the dutch word in their revbank1 hack.
|
|
my $filename = -e("revbank.voorraad")
|
|
? "revbank.voorraad"
|
|
: "revbank.stock";
|
|
|
|
my @items = $cart->select_items('product_id') or return;
|
|
|
|
my %stock = do {
|
|
my $in;
|
|
open($in, '<', $filename)
|
|
? map { split " ", $_, 2 } readline $in
|
|
: ()
|
|
};
|
|
|
|
$stock{ $_->{product_id} }-- for @items;
|
|
|
|
open my $out, '>', "$filename.$$" or warn "$filename.$$: $!";
|
|
printf {$out} "%-16s %+9d\n", $_, $stock{$_} for sort keys %stock;
|
|
close $out or die "$filename.$$: $!";
|
|
rename "$filename.$$", $filename or die $!;
|
|
}
|