-<& /elements/header.html &>
+<& /elements/header.html, 'System Status' &>
+
+<& /elements/init_overlib.html &>
+
% foreach my $section ( keys %status ) {
<FONT CLASS="fsinnerbox-title"><% mt($section) |h %></FONT>
<TABLE CLASS="fsinnerbox">
</TABLE>
<BR><BR>
% }
+
<& /elements/footer.html &>
<%init>
$os = "Debian $deb_version";
}
+my $pkg_version = '';
+-e '/usr/bin/dpkg-query'
+ and run( ['/usr/bin/dpkg-query',
+ '--showformat=${Version}', '--show', 'freeside'
+ ],
+ '>', \$pkg_version
+ );
+
( my $perl_ver = $^V ) =~ s/^v//;
my $db = driver_name;
$db = 'MySQL/MariaDB' if $db =~ /^mysql/;
my $db_ver = FS::Record->scalar_sql('SELECT VERSION()');
-if ( $db eq 'PostgreSQL' && $db_ver =~ /^\s*PostgreSQL\s+([\w\.]+)\s+on\s+/ ) {
+if ( $db eq 'PostgreSQL' && $db_ver =~ /^\s*PostgreSQL\s+([\w\.]+(\s+\([\w\s\.\+\-\:\~]+\))?)\s+on\s+/ ) {
$db_ver = $1;
}
my $db_size = 'Unknown';
if ( $db eq 'PostgreSQL' ) {
$db_size = FS::Record->scalar_sql(qq(
- SELECT pg_size_pretty(pg_database_size('freeside'))
- ));
+ SELECT pg_size_pretty(pg_database_size('freeside'))
+ )). ' '.
+ include('/elements/popup_link.html',
+ 'action' => 'Status-db_size_detail.html',
+ 'label' => '(details)',
+ 'actionlabel' => 'Database size details',
+ );
}
tie my %status, 'Tie::IxHash',
{ 'title' => 'Freeside version',
'value' => $FS::VERSION,
},
+ ( length($pkg_version)
+ ? ( { 'title' => 'Package version',
+ 'value' => $pkg_version,
+ },
+ )
+ : ()
+ ),
{ 'title' => 'Operating System',
'value' => $os,
},
&& FS::Record->scalar_sql('SHOW archive_mode') eq 'on';
my $slave =
- FS::Record->scalar_sql('SHOW archive_command') =~ / postgres\@([\w\.\-]+): /
+ FS::Record->scalar_sql('SHOW archive_command') =~ / postgres\@([\w\.\-]+):/
? $1 : '';
$status{'Replication'} = [
# http://www.keithf4.com/monitoring_streaming_slave_lag/
# except pg_stat_replication still doesn't fill in the columns we need as
# non-Pg user :/
- push @{ $status{'Replication'} },
- { 'title' => 'Slave',
- 'value' => $slave || '(Missing, or unparseable archive_command)',
- },
- ;
+ #push @{ $status{'Replication'} },
+ # { 'title' => 'Slave',
+ # 'value' => $slave || '(Missing, or unparseable archive_command)',
+ # },
+ #;
}
}
'extra_sql' => ' AND '. $FS::CurrentUser::CurrentUser->agentnums_sql,
})
) {
- my $gateway = $agent->payment_gateway('method'=>'VISA card');
- next unless $gateway->gateway_namespace eq 'Business::OnlinePayment';
+ my $gateway = $agent->payment_gateway('method'=>'VISA card', 'nofatal'=>1, );
+ next unless $gateway
+ && $gateway->gateway_namespace eq 'Business::OnlinePayment';
eval "use Business::OnlinePayment";
die $@ if $@; #die?
my $bop = new Business::OnlinePayment( $gateway->gateway_module,
}
}
-warn $tokenize;
-warn $store;
if ( $tokenize && ! $store ) {