fix 'Can't call method "setup" on an undefined value' error when using into rates...
[freeside.git] / FS / FS / Yori.pm
index 01f36b1..b5bdc0c 100644 (file)
@@ -9,6 +9,7 @@ our @EXPORT_OK = qw( reports report );
 sub reports { #should be autogenerated i guess
   qw( freeside_version debian_version pg_version
       apache_version apache_mpm
+      payment_gateways
     );
       #ssh_vulnkey
 }
@@ -59,7 +60,35 @@ sub report_apache_mpm {
   $apache_mpm;
 }
 
+sub report_payment_gateways {
+  my @gateways = split(/\n/,
+    `aptitude -F '%c %p' search 'libbusiness-onlinepayment-.*' | grep '^i ' | grep -v '^i libbusiness-onlinepayment-perl' | cut -c29- | cut -d- -f1`
+  );
+  join(', ', @gateways);
+}
+
 #sub report_ssh_vulnkey{
 #  my $ssh_vulnkey = `ssh-vulnkey -a | grep COMPROMISED`;
 #  $ssh_vulnkey;
 #}
+
+sub report_load {
+  open LOAD, "</proc/loadavg" || return;
+  my($one, $five, $fifteen) = split ' ', <LOAD>;
+  close LOAD;
+  ($one, $five, $fifteen);
+}
+
+sub report_freememory {
+  open MEM, "</proc/meminfo" || return;
+  my $free = 0;
+  my @interesting = qw( MemFree Cached SwapFree );
+  while (<MEM>) {
+    /^(\w*):\s*(\d*) kB$/ || next;
+   next unless grep { $_ eq $1 } @interesting;
+   $free += $2;
+  }
+  close MEM;
+  $free;
+}
+