[interchange-cvs] interchange - heins modified
lib/Vend/Interpolate.pm
interchange-cvs at icdevgroup.org
interchange-cvs at icdevgroup.org
Sun Aug 6 15:46:39 EDT 2006
User: heins
Date: 2006-08-06 19:46:39 GMT
Modified: lib/Vend Interpolate.pm
Log:
* Allow lookups of multiple levels of config setting, i.e:
[if config UserDB->captcha]
[captcha function=imagetag]
[/if]
Revision Changes Path
2.273 +10 -3 interchange/lib/Vend/Interpolate.pm
rev 2.273, prev_rev 2.272
Index: Interpolate.pm
===================================================================
RCS file: /var/cvs/interchange/lib/Vend/Interpolate.pm,v
retrieving revision 2.272
retrieving revision 2.273
diff -u -r2.272 -r2.273
--- Interpolate.pm 30 Jul 2006 23:37:38 -0000 2.272
+++ Interpolate.pm 6 Aug 2006 19:46:39 -0000 2.273
@@ -1,6 +1,6 @@
# Vend::Interpolate - Interpret Interchange tags
#
-# $Id: Interpolate.pm,v 2.272 2006/07/30 23:37:38 kwalsh Exp $
+# $Id: Interpolate.pm,v 2.273 2006/08/06 19:46:39 mheins Exp $
#
# Copyright (C) 2002-2006 Interchange Development Group
# Copyright (C) 1996-2002 Red Hat, Inc.
@@ -28,7 +28,7 @@
require Exporter;
@ISA = qw(Exporter);
-$VERSION = substr(q$Revision: 2.272 $, 10);
+$VERSION = substr(q$Revision: 2.273 $, 10);
@EXPORT = qw (
@@ -1110,7 +1110,14 @@
$status = Vend::Order::validate_whole_cc($term, $operator, $comp);
}
elsif($base eq 'config') {
- $op = qq%$Vend::Cfg->{$term}%;
+ my @terms = split /::|->/, $term;
+ eval {
+ $op = $Vend::Cfg;
+ while(my $t = shift(@terms)) {
+ $op = $op->{$t};
+ }
+ };
+
$op = "q{$op}" unless defined $noop;
$op .= qq% $operator $comp%
if defined $comp;
More information about the interchange-cvs
mailing list