diff options
Diffstat (limited to 'torrus/perllib/Torrus/Freeside.pm')
-rw-r--r-- | torrus/perllib/Torrus/Freeside.pm | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/torrus/perllib/Torrus/Freeside.pm b/torrus/perllib/Torrus/Freeside.pm new file mode 100644 index 0000000..1b0a281 --- /dev/null +++ b/torrus/perllib/Torrus/Freeside.pm @@ -0,0 +1,66 @@ +package Torrus::Freeside; + +use strict; +use warnings; + +#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) = @_; + + #from html-incblocks.txt + my $head = + # <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"> + # [% IF expires %]<META HTTP-EQUIV="Refresh" CONTENT="[% expires %]"/>[% END %] + '<STYLE type="text/css" media="all"> + @import url( '. $Torrus::Renderer::plainURL. $stylesheet. ' ); + </STYLE> + '; + + $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; + |