summaryrefslogtreecommitdiff
path: root/httemplate/autohandler
blob: ae04d423f7edde9b442747cf95358d782bef1c2d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
% $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'
       && $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 $@;

    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;
</%filter>
<%cleanup>
   dbh->commit();
</%cleanup>