diff options
Diffstat (limited to 'torrus/perllib')
-rw-r--r-- | torrus/perllib/Torrus/CGI.pm | 8 | ||||
-rw-r--r-- | torrus/perllib/Torrus/Renderer.pm | 6 | ||||
-rw-r--r-- | torrus/perllib/Torrus/Renderer/Freeside.pm | 65 | ||||
-rw-r--r-- | torrus/perllib/Torrus/Renderer/Frontpage.pm | 8 | ||||
-rw-r--r-- | torrus/perllib/Torrus/Renderer/HTML.pm | 8 |
5 files changed, 87 insertions, 8 deletions
diff --git a/torrus/perllib/Torrus/CGI.pm b/torrus/perllib/Torrus/CGI.pm index 574e87252..88a434e6c 100644 --- a/torrus/perllib/Torrus/CGI.pm +++ b/torrus/perllib/Torrus/CGI.pm @@ -14,7 +14,7 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. -# $Id: CGI.pm,v 1.1 2010-12-27 00:03:43 ivan Exp $ +# $Id: CGI.pm,v 1.2 2010-12-27 08:40:19 ivan Exp $ # Stanislav Sinyagin <ssinyagin@yahoo.com> # Universal CGI handler for Apache mod_perl and FastCGI @@ -37,9 +37,13 @@ use Torrus::ACL; ## Torrus::CGI->process($q) ## Expects a CGI object as input +our $q; + sub process { - my($class, $q) = @_; + #my($class, $q) = @_; + my $class = shift; + $q = shift; my $path_info = $q->url(-path => 1); diff --git a/torrus/perllib/Torrus/Renderer.pm b/torrus/perllib/Torrus/Renderer.pm index 803dd1858..b1eddb0fc 100644 --- a/torrus/perllib/Torrus/Renderer.pm +++ b/torrus/perllib/Torrus/Renderer.pm @@ -14,7 +14,7 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. -# $Id: Renderer.pm,v 1.1 2010-12-27 00:03:39 ivan Exp $ +# $Id: Renderer.pm,v 1.2 2010-12-27 08:40:19 ivan Exp $ # Stanislav Sinyagin <ssinyagin@yahoo.com> package Torrus::Renderer; @@ -36,7 +36,9 @@ use Torrus::Renderer::RRDtool; use base qw(Torrus::Renderer::HTML Torrus::Renderer::RRDtool Torrus::Renderer::Frontpage - Torrus::Renderer::AdmInfo); + Torrus::Renderer::AdmInfo + Torrus::Renderer::Freeside + ); sub new { 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 = + # <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; + diff --git a/torrus/perllib/Torrus/Renderer/Frontpage.pm b/torrus/perllib/Torrus/Renderer/Frontpage.pm index 5a9d0a39d..715a01926 100644 --- a/torrus/perllib/Torrus/Renderer/Frontpage.pm +++ b/torrus/perllib/Torrus/Renderer/Frontpage.pm @@ -14,7 +14,7 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. -# $Id: Frontpage.pm,v 1.1 2010-12-27 00:03:44 ivan Exp $ +# $Id: Frontpage.pm,v 1.2 2010-12-27 08:40:19 ivan Exp $ # Stanislav Sinyagin <ssinyagin@yahoo.com> package Torrus::Renderer::Frontpage; @@ -208,7 +208,11 @@ sub renderTreeChooser hasPrivilege( $_[0], 'DisplayTree' ) } , 'mayGlobalSearch' => sub { return $self->mayGlobalSearch(); }, - 'searchResults' => sub { return $self->doGlobalSearch($_[0]); } + 'searchResults' => sub { return $self->doGlobalSearch($_[0]); }, + + #Freeside + 'freesideHeader' => sub { return $self->freesideHeader(@_); }, + 'freesideFooter' => sub { return $self->freesideFooter(); }, }; diff --git a/torrus/perllib/Torrus/Renderer/HTML.pm b/torrus/perllib/Torrus/Renderer/HTML.pm index e9f72acf0..296e699a1 100644 --- a/torrus/perllib/Torrus/Renderer/HTML.pm +++ b/torrus/perllib/Torrus/Renderer/HTML.pm @@ -14,7 +14,7 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. -# $Id: HTML.pm,v 1.1 2010-12-27 00:03:44 ivan Exp $ +# $Id: HTML.pm,v 1.2 2010-12-27 08:40:19 ivan Exp $ # Stanislav Sinyagin <ssinyagin@yahoo.com> package Torrus::Renderer::HTML; @@ -112,7 +112,11 @@ sub render_html 'verifyDate' => sub { return verifyDate($_[0]); }, 'markup' => sub{ return $self->translateMarkup( @_ ); }, 'searchEnabled' => $Torrus::Renderer::searchEnabled, - 'searchResults' => sub { return $self->doSearch($config_tree, $_[0]); } + 'searchResults' => sub { return $self->doSearch($config_tree, $_[0]); }, + + #Freeside + 'FreesideHeader' => sub { return $self->FreesideHeader(@_); }, + 'freesideFooter' => sub { return $self->freesideFooter(); }, }; |