don't initialize i18n in secureEval unless needed - avoid endless loop on language user profile field

This commit is contained in:
Graham Knop 2008-08-07 22:55:30 +00:00
parent a01f5dce37
commit 3d62fa8e69

View file

@ -104,10 +104,16 @@ sub secureEval {
my $code = shift; my $code = shift;
# Handle WebGUI function calls # Handle WebGUI function calls
my $i18n = WebGUI::International->new($session); my $i18n;
my %trusted = ( my %trusted = (
'WebGUI::International::get' => sub {$i18n->get(@_)}, 'WebGUI::International::get' => sub {
'WebGUI::International::getLanguages' => sub { $i18n->getLanguages(@_) }, $i18n ||= WebGUI::International->new($session);
$i18n->get(@_);
},
'WebGUI::International::getLanguages' => sub {
$i18n ||= WebGUI::International->new($session);
$i18n->getLanguages(@_);
},
'WebGUI::DateTime::epochToHuman' => sub { $session->datetime->epochToHuman(@_) }, 'WebGUI::DateTime::epochToHuman' => sub { $session->datetime->epochToHuman(@_) },
'$session->datetime->epochToHuman' => sub { $session->datetime->epochToHuman(@_) }, '$session->datetime->epochToHuman' => sub { $session->datetime->epochToHuman(@_) },
'WebGUI::Icon::getToolbarOptions' => sub { $session->icon->getToolbarOptions() }, 'WebGUI::Icon::getToolbarOptions' => sub { $session->icon->getToolbarOptions() },