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;
+