From 8aa438fa6753b3c72b324fc4a575120b2aa4d6b8 Mon Sep 17 00:00:00 2001 From: Matthew Wilson Date: Tue, 25 Apr 2006 12:39:05 +0000 Subject: [PATCH] should speed up most template processing where there is more than 1 form variable. --- lib/WebGUI/Asset/Template/Parser.pm | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/lib/WebGUI/Asset/Template/Parser.pm b/lib/WebGUI/Asset/Template/Parser.pm index b1460105e..e8ee5802a 100755 --- a/lib/WebGUI/Asset/Template/Parser.pm +++ b/lib/WebGUI/Asset/Template/Parser.pm @@ -26,7 +26,7 @@ Appends session variables to the variable list. =head3 vars -A reference the template variable hash. +A reference to the template variable hash. =cut @@ -41,8 +41,14 @@ sub addSessionVars { $vars->{"session.var.adminOn"} = $self->session->var->isAdminOn; $vars->{"session.setting.companyName"} = $self->session->setting->get("companyName"); $vars->{"session.setting.anonymousRegistration"} = $self->session->setting->get("anonymousRegistration"); - foreach my $field ($self->session->form->param) { - $vars->{"session.form.".$field} = $self->session->form->param($field); + my $forms = $self->session->form->paramsHashRef(); + foreach my $field (keys %$forms) { + if $forms->{$field} { + $vars->{"session.form.".$field} = + (ref($forms->{$field}) eq 'ARRAY') + ?$forms->{$field}[$forms->{$field}[-1]] + :$forms->{$field}; + } } $vars->{"webgui.version"} = $WebGUI::VERSION; $vars->{"webgui.status"} = $WebGUI::STATUS;