[interchange-cvs] interchange - heins modified lib/Vend/Menu.pm
interchange-core@icdevgroup.org
interchange-core@icdevgroup.org
Mon Jan 13 19:25:00 2003
User: heins
Date: 2003-01-14 00:24:27 GMT
Modified: lib/Vend Menu.pm
Log:
* Allow adding another value to the menu data from the option line, allows
display of data that comes from the page.
Revision Changes Path
2.21 +23 -3 interchange/lib/Vend/Menu.pm
rev 2.21, prev_rev 2.20
Index: Menu.pm
===================================================================
RCS file: /var/cvs/interchange/lib/Vend/Menu.pm,v
retrieving revision 2.20
retrieving revision 2.21
diff -u -r2.20 -r2.21
--- Menu.pm 8 Dec 2002 06:12:59 -0000 2.20
+++ Menu.pm 14 Jan 2003 00:24:27 -0000 2.21
@@ -1,6 +1,6 @@
-# Vend::Menu - Interchange payment processing routines
+# Vend::Menu - Interchange menu processing routines
#
-# $Id: Menu.pm,v 2.20 2002/12/08 06:12:59 mheins Exp $
+# $Id: Menu.pm,v 2.21 2003/01/14 00:24:27 mheins Exp $
#
# Copyright (C) 2002 Mike Heins, <mike@perusion.net>
#
@@ -21,7 +21,7 @@
package Vend::Menu;
-$VERSION = substr(q$Revision: 2.20 $, 10);
+$VERSION = substr(q$Revision: 2.21 $, 10);
use Vend::Util;
use strict;
@@ -343,6 +343,20 @@
},
);
+sub extra_value {
+ my ($extra, $row) = @_;
+ if(ref($extra) ne 'HASH') {
+ my ($k, $v) = split /=/, $extra, 2;
+ $extra = { $k => $v };
+ }
+
+ for(keys %$extra) {
+ $row->{$_} = $extra->{$_}
+ if length($extra->{$_});
+ }
+ return;
+}
+
sub reset_transforms {
#::logDebug("resetting transforms");
my $opt = shift;
@@ -817,6 +831,8 @@
for my $row (@$rows) {
next if $_->{deleted};
+ extra_value($opt->{extra_value}, $row)
+ if $opt->{extra_value};
push @out, Vend::Tags->uc_attr_list($row, $template);
}
@@ -1159,6 +1175,8 @@
else {
$row->{toggle_anchor} = $opt->{toggle_anchor_clear};
}
+ extra_value($opt->{extra_value}, $row)
+ if $opt->{extra_value};
return Vend::Tags->uc_attr_list($row, $template);
}
@@ -1312,6 +1330,8 @@
}
$row->{href} = Vend::Tags->area( { href => $row->{page}, form => $row->{form} });
}
+ extra_value($opt->{extra_value}, $row)
+ if $opt->{extra_value};
return Vend::Tags->uc_attr_list($row, $template);
}