stray closing /TABLE in the no-ticket case
[freeside.git] / httemplate / autohandler
index e6e50d5..248f14a 100644 (file)
@@ -1,23 +1,50 @@
 % $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 ( 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() if dbh;
+</%cleanup>