[wellwell-devel] [SCM] Interchange wellwell catalog branch, master, updated. 9a2f8b72e242f9980cb8a06ec796a4be8670a3b9

Stefan Hornburg racke at rt.icdevgroup.org
Fri Feb 19 12:29:28 UTC 2010


       via  9a2f8b72e242f9980cb8a06ec796a4be8670a3b9 (commit)
      from  32f341029e4e5bfd83a3f4b9bd17d28c646a6070 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 9a2f8b72e242f9980cb8a06ec796a4be8670a3b9
Author: Stefan Hornburg (Racke) <racke at linuxia.de>
Date:   Fri Feb 19 13:28:12 2010 +0100

    added ref attribute to [menu-display] for passing menus as Perl structure

-----------------------------------------------------------------------

Summary of changes and diff:
 lib/WellWell/Menu.pm |   32 ++++++++++++++++++++++----------
 1 files changed, 22 insertions(+), 10 deletions(-)

diff --git a/lib/WellWell/Menu.pm b/lib/WellWell/Menu.pm
index 01a0eed..652e1fc 100644
--- a/lib/WellWell/Menu.pm
+++ b/lib/WellWell/Menu.pm
@@ -35,16 +35,21 @@ sub display {
 	my ($set, @entries, $name_qtd, @fields, $fstr, $base_url, $selected);
 	my ($db_menus);
 	
-	$db_menus = database_exists_ref('menus');
+	if ($opt->{ref}) {
+		$set = $opt->{ref};
+	}
+	else {
+		$db_menus = database_exists_ref('menus');
 	
-	$name_qtd = $db_menus->quote($name);
+		$name_qtd = $db_menus->quote($name);
 
-	@fields = qw/code name url parent permission/;
+		@fields = qw/code name url parent permission/;
 		
-	$fstr = join(',', @fields);
-
-	$set = $db_menus->query({sql => qq{select $fstr from menus where menu_name = $name_qtd order by parent asc, weight desc, code}, hashref => 1});
-
+		$fstr = join(',', @fields);
+		
+		$set = $db_menus->query({sql => qq{select $fstr from menus where menu_name = $name_qtd order by parent asc, weight desc, code}, hashref => 1});
+	}
+	
 	for (@$set) {
 		next unless Vend::Tags->acl('check', $_->{permission});
 
@@ -65,7 +70,7 @@ sub display {
 
 sub build_entries {
 	my ($entries_ref, $opt) = @_;
-	my (@out, $ref, $base_url, $uri, $selected);
+	my (@out, $ref, $base_url, $uri, $form, $selected);
 
 	if ($opt->{selected}) {
 		$base_url = $Vend::Session->{last_url};
@@ -83,8 +88,15 @@ sub build_entries {
 					$selected = '';
 				}
 			}
-	
-			$uri = Vend::Tags->area($ref->{url});
+
+			if (ref($ref->{form}) eq 'HASH') {
+				$form = join("\n", map {"$_=$ref->{form}->{$_}"} keys(%{$ref->{form}}));
+			}
+			else {
+				$form = '';
+			}
+			
+			$uri = Vend::Tags->area({href => $ref->{url}, form => $form});
 			$out[$i] = qq{<li$selected><a href="$uri">$ref->{name}</a></li>};
 		}
 		else {


hooks/post-receive
-- 
Interchange wellwell catalog



More information about the wellwell-devel mailing list