X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Fautohandler;h=3cc8e1021b1764da697ab3c8e2a31c446fc4e73f;hp=a3f7eb0086db5a097cbdd7751c852aa965fb6473;hb=HEAD;hpb=e74ef43f87208638dd1a01073e819c053d0783f4 diff --git a/httemplate/autohandler b/httemplate/autohandler index a3f7eb008..3cc8e1021 100644 --- a/httemplate/autohandler +++ b/httemplate/autohandler @@ -1,21 +1,50 @@ % $m->call_next; <%init> + + $FS::Maketext::lh = ''; + dbh->{'private_profile'} = {} if UNIVERSAL::can(dbh, 'sprintProfile'); + <%filter> -my $profile = ''; if ( UNIVERSAL::can(dbh, 'sprintProfile') ) { - if ( lc($r->content_type) eq 'text/html' ) { + my $profile = ''; + + if ( $r && lc($r->content_type) =~ /^text\/html/ + && $FS::CurrentUser::CurrentUser->option('show_db_profile') + ) + { + + ## barely worth it, just in case someone tries to use profiling on a + ## non-RT install + #eval "use Text::Wrapper;"; + #die $@ if $@; - $profile = '
'. encode_entities(dbh->sprintProfile()).
-               #"\n\n". &sprintAutoProfile(). '
'; - "\n\n". ''; - } + my $text = dbh->sprintProfile(); + #$text =~ s/^/ /mg; + + $profile = '
'.  encode_entities( $text ). "\n\n". '
'; + + } + + #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; +<%cleanup> + dbh->commit() if dbh; +