Revert "Embed Safe 2.07 into Vend::Safe to avoid various problems with recent version...
[interchange.git] / code / SystemTag / order.coretag
1 # Copyright 2002-2007 Interchange Development Group and others
2
3 # This program is free software; you can redistribute it and/or modify
4 # it under the terms of the GNU General Public License as published by
5 # the Free Software Foundation; either version 2 of the License, or
6 # (at your option) any later version.  See the LICENSE file for details.
7
8 # $Id: order.coretag,v 1.7 2007-03-30 23:40:49 pajamian Exp $
9
10 UserTag order               Order        code quantity
11 UserTag order               attrAlias    item code
12 UserTag order               attrAlias    sku code
13 UserTag order               attrAlias    table base
14 UserTag order               attrAlias    database base
15 UserTag order               attrAlias    db base
16 UserTag order               attrAlias    mv_ib base
17 UserTag order               attrAlias    href page
18 UserTag order               attrAlias    variant mv_sku
19 UserTag order               addAttr
20 UserTag order               PosNumber    2
21 UserTag order               Version      $Revision: 1.7 $
22 UserTag order               Routine      <<EOR
23 # Returns an href to place an order for the product PRODUCT_CODE.
24 # If AlwaysSecure is set, goes by the page accessed, otherwise 
25 # if a secure order has been started (with a call to at least
26 # one secure_vendUrl), then it will be given the secure URL
27 sub {
28     my($code,$quantity,$opt) = @_;
29         $opt = {} unless $opt;
30         my @parms = (
31                                         "mv_action=refresh",
32                                   );
33
34         push(@parms, "mv_order_item=$code");
35         push(@parms, "mv_order_mv_ib=$opt->{base}")
36                 if($opt->{base});
37
38         push(@parms, "mv_cartname=$opt->{cart}")
39                 if($opt->{cart});
40
41         push(@parms, "mv_order_quantity=$quantity")
42                 if($quantity);
43
44         push @parms, "mv_sku=$opt->{mv_sku}" if $opt->{mv_sku};
45
46         $opt->{form} .= "\n" . join "\n", @parms;
47
48         $opt->{page} = find_special_page('order')
49                 unless $opt->{page};
50
51         if ($opt->{area}) {
52                 return tag_area($opt->{page}, $opt->{arg}, $opt);
53         }
54         else {
55                 return tag_page($opt->{page}, $opt->{arg}, $opt);
56         }
57 }
58 EOR