% $m->call_next;
-
<%init>
+
+ $FS::Maketext::lh = '';
+
dbh->{'private_profile'} = {} if UNIVERSAL::can(dbh, 'sprintProfile');
-</%init>
+</%init>
<%filter>
-my $profile = '';
if ( UNIVERSAL::can(dbh, 'sprintProfile') ) {
- #if contenttype is text/html!! **FIXME**
+ my $profile = '';
+
+ if ( $r && lc($r->content_type) =~ /^text\/html/
+ && $FS::CurrentUser::CurrentUser->option('show_db_profile')
+ )
+ {
- $profile = '<PRE>'. ("\n"x4096). encode_entities(dbh->sprintProfile()).
- #"\n\n". &sprintAutoProfile(). '</PRE>';
- "\n\n". '</PRE>';
- #endif
+ ## barely worth it, just in case someone tries to use profiling on a
+ ## non-RT install
+ #eval "use Text::Wrapper;";
+ #die $@ if $@;
+
+ my $text = dbh->sprintProfile();
+ #$text =~ s/^/ /mg;
+
+ $profile = '<PRE>'. encode_entities( $text ). "\n\n". '</PRE>';
+
+ }
+
+ #well, could do this without sprintProfile, but definiately don't want it on
+ #unless DBIx::Profile is loaded
+ if ( $FS::CurrentUser::CurrentUser->option('save_db_profile') ) {
+ #my $file = %%%FREESIDE_LOG%%%; #substitute here? maybe get from FS.pm?
+ my $file = '/usr/local/etc/freeside/'; #bah
+ $file .= "dbix_profile.$$.". time;
+ dbh->setLogFile($file);
+ dbh->printProfile();
+ }
dbh->{'private_profile'} = {};
+
+ s/(<\/BODY>[\s\n]*<\/HTML>[\s\n]*)/$profile$1/i;
}
-s/(<\/BODY>[\s\n]*<\/HTML>[\s\n]*)$/$profile$1/i;
</%filter>
+<%cleanup>
+ dbh->commit();
+</%cleanup>