summaryrefslogtreecommitdiff
path: root/torrus/perllib
diff options
context:
space:
mode:
authorivan <ivan>2010-12-27 08:40:19 +0000
committerivan <ivan>2010-12-27 08:40:19 +0000
commit3f8ef5c72aa4fbfad5c320d91abdd4f2d547c029 (patch)
tree258c345f9d76c70dbc7fea6810fcaafaa47aadba /torrus/perllib
parent74e058c8a010ef6feb539248a550d0bb169c1e94 (diff)
torrus, RT#10574
Diffstat (limited to 'torrus/perllib')
-rw-r--r--torrus/perllib/Torrus/CGI.pm8
-rw-r--r--torrus/perllib/Torrus/Renderer.pm6
-rw-r--r--torrus/perllib/Torrus/Renderer/Freeside.pm65
-rw-r--r--torrus/perllib/Torrus/Renderer/Frontpage.pm8
-rw-r--r--torrus/perllib/Torrus/Renderer/HTML.pm8
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(); },
};