From 6e79acda564ac84f76ea67e21bdcb962f774c24b Mon Sep 17 00:00:00 2001 From: ivan Date: Sun, 30 Jan 2011 23:45:58 +0000 Subject: [PATCH] fix torrus interface slowness resulting from initializing FS for every component, RT#10574 --- torrus/perllib/Torrus/Renderer/Freeside.pm | 8 +++++++- torrus/perllib/Torrus/ReportOutput/Freeside.pm | 4 ++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/torrus/perllib/Torrus/Renderer/Freeside.pm b/torrus/perllib/Torrus/Renderer/Freeside.pm index 8d9341509..9a7c023be 100644 --- a/torrus/perllib/Torrus/Renderer/Freeside.pm +++ b/torrus/perllib/Torrus/Renderer/Freeside.pm @@ -6,10 +6,16 @@ use base 'Torrus::Freeside'; use FS::UID qw(cgisuidsetup); use FS::TicketSystem; +our $cgi = ''; + sub freesideSetup { #my $self = shift; - cgisuidsetup($Torrus::CGI::q); + return if $cgi eq $Torrus::CGI::q; + + $cgi = $Torrus::CGI::q; + + cgisuidsetup($cgi); FS::TicketSystem->init(); } diff --git a/torrus/perllib/Torrus/ReportOutput/Freeside.pm b/torrus/perllib/Torrus/ReportOutput/Freeside.pm index 47db28d56..f04ac6133 100644 --- a/torrus/perllib/Torrus/ReportOutput/Freeside.pm +++ b/torrus/perllib/Torrus/ReportOutput/Freeside.pm @@ -6,9 +6,13 @@ use base 'Torrus::Freeside'; use FS::UID qw(adminsuidsetup); use FS::TicketSystem; +our $issetup = 0; + sub freesideSetup { #my $self = shift; + return if $issetup++; + adminsuidsetup('fs_queue'); #XXX for now FS::TicketSystem->init(); -- 2.11.0