Note that Mark added Braintree payment module
[interchange.git] / code / UI_Tag / meta_info.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 UserTag meta-info Order      table column key
9 UserTag meta-info attrAlias  col column
10 UserTag meta-info addAttr
11 UserTag meta-info Version    1.4
12 UserTag meta-info Routine    <<EOR
13 sub {
14         my ($table, $col, $key, $opt) = @_;
15
16         my $item;
17         if($table) {
18                 $item = $table;
19                 $item .= "::$col" if $col;
20         }
21
22         $item ||= $opt->{item} or return undef;
23         my $meta;
24         my $mdb;
25
26         if($opt->{meta_table}) {
27                 $mdb = dbref($opt->{meta_table});
28         }
29         
30         my @tries = $item;
31
32         if($opt->{specific}) {
33                 unshift @tries, $item . "::$opt->{specific}";
34         }
35
36         for(@tries) {
37                 $meta = Vend::Table::Editor::meta_record(
38                                                                 $_,
39                                                                 $opt->{view},
40                                                                 $mdb,
41                                                                 $opt->{extended_only},
42                                                         )
43                                 and last;
44         }
45         return undef unless $meta;
46 #::logDebug("Got meta record back, looking for $key: " . ::uneval($meta));
47         return errmsg($meta->{$key}) if $opt->{localize};
48         return $meta->{$key};
49 }
50 EOR