X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=torrus%2Fperllib%2FTorrus%2FRenderer%2FFreeside.pm;fp=torrus%2Fperllib%2FTorrus%2FRenderer%2FFreeside.pm;h=7b304742ccf8782a3deb61030b648a6a5d26c399;hb=3f8ef5c72aa4fbfad5c320d91abdd4f2d547c029;hp=0000000000000000000000000000000000000000;hpb=74e058c8a010ef6feb539248a550d0bb169c1e94;p=freeside.git diff --git a/torrus/perllib/Torrus/Renderer/Freeside.pm b/torrus/perllib/Torrus/Renderer/Freeside.pm new file mode 100644 index 000000000..7b304742c --- /dev/null +++ b/torrus/perllib/Torrus/Renderer/Freeside.pm @@ -0,0 +1,65 @@ +package Torrus::Renderer::Freeside; + +use strict; + +#Freeside +use FS::Mason qw( mason_interps ); +use FS::UID qw(cgisuidsetup); +use FS::TicketSystem; + +my $outbuf; +my( $fs_interp, $rt_interp ) = mason_interps('standalone', 'outbuf'=>\$outbuf); + +sub freesideHeader { + my($self, $title, $stylesheet, $c) = (shift, shift); + + #from html-incblocks.txt + my $head = + # + # [% IF expires %][% END %] + ' + '; + + $self->freesideComponent('/elements/header.html', + { + 'title' => $title, + 'head' => $head, + #'etc' => $etc, + 'nobr' => 1, + #'nocss' => 1, + } + ); +} + +sub freesideFooter { + my $self = shift; + $self->FreesideComponent('/elements/footer.html'); +} + +our $FSURL; + +sub freesideComponent { + my($self, $comp) = (shift, shift); + +# my $conf = new FS::Conf; + $FS::Mason::Request::FSURL = $FSURL; + $FS::Mason::Request::FSURL .= '/' unless $FS::Mason::Request::FSURL =~ /\/$/; +# $FS::Mason::Request::QUERY_STRING = $packet->{'query_string'} || ''; + + cgisuidsetup($Torrus::CGI::q); + FS::TicketSystem->init(); + + $outbuf = ''; + #$fs_interp->exec($comp, @args); #only FS for now alas... + $fs_interp->exec($comp, @_); #only FS for now alas... + + #errors? (turn off in-line error reporting?) + + return $outbuf; + +} + +1; +