[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