summaryrefslogtreecommitdiff
path: root/httemplate/autohandler
diff options
context:
space:
mode:
Diffstat (limited to 'httemplate/autohandler')
-rw-r--r--httemplate/autohandler35
1 files changed, 35 insertions, 0 deletions
diff --git a/httemplate/autohandler b/httemplate/autohandler
new file mode 100644
index 000000000..bdea50534
--- /dev/null
+++ b/httemplate/autohandler
@@ -0,0 +1,35 @@
+% $m->call_next;
+<%init>
+ dbh->{'private_profile'} = {} if UNIVERSAL::can(dbh, 'sprintProfile');
+</%init>
+<%filter>
+
+my $profile = '';
+if ( UNIVERSAL::can(dbh, 'sprintProfile') ) {
+
+ if ( lc($r->content_type) eq 'text/html' ) {
+
+ ## barely worth it, just in case someone tries to use profiling on a
+ ## non-RT install
+ #eval "use Text::Wrapper;";
+ #die $@ if $@;
+
+ my $wrapper = new Text::Wrapper( columns => 80 );
+ my $text = dbh->sprintProfile();
+ #my $text = $wrapper->wrap( dbh->sprintProfile() );
+ $text =~ s/^/ /mg;
+
+ $profile = '<PRE>'.
+ encode_entities( $text ).
+ #"\n\n". &sprintAutoProfile(). '</PRE>';
+ "\n\n". '</PRE>';
+ }
+
+ dbh->{'private_profile'} = {};
+}
+
+s/(<\/BODY>[\s\n]*<\/HTML>[\s\n]*)$/$profile$1/i;
+</%filter>
+<%cleanup>
+ dbh->commit();
+</%cleanup>