quiet warning: Subroutine Net::Ping::External::_ping_linux redefined
[freeside.git] / FS / FS / Mason.pm
index a567236..877864e 100644 (file)
@@ -42,7 +42,7 @@ Initializes the Mason environment, loads all Freeside and RT libraries, etc.
   #breaks quick payment entry
   #http://rt.cpan.org/Public/Bug/Display.html?id=37365
   die "CGI.pm v3.38 is broken, use any other version >= 3.29".
-      " (Debian 5.0?  aptitude remove ligcgi-pm-perl)"
+      " (Debian 5.0?  aptitude remove libcgi-pm-perl)"
     if $CGI::VERSION == 3.38;
 
   #use CGI::Carp qw(fatalsToBrowser);
@@ -52,12 +52,13 @@ Initializes the Mason environment, loads all Freeside and RT libraries, etc.
   use Date::Format;
   use Date::Parse;
   use Time::Local;
+  use Time::HiRes;
   use Time::Duration;
   use DateTime;
   use DateTime::Format::Strptime;
   use Lingua::EN::Inflect qw(PL);
   use Tie::IxHash;
-  use URI::URL;
+  use URI;
   use URI::Escape;
   use HTML::Entities;
   use HTML::TreeBuilder;
@@ -77,6 +78,19 @@ Initializes the Mason environment, loads all Freeside and RT libraries, etc.
   use Spreadsheet::WriteExcel;
   use Business::CreditCard 0.30; #for mask-aware cardtype()
   use NetAddr::IP;
+  use Net::Ping;
+  use Net::Ping::External;
+  #if CPAN #7815 ever gets fixed# if ( $Net::Ping::External::VERSION <= 0.12 )
+  {
+    no warnings 'redefine';
+    eval 'sub Net::Ping::External::_ping_linux { 
+            my %args = @_;
+            my $command = "ping -s $args{size} -c $args{count} -w $args{timeout} $args{host}";
+            return Net::Ping::External::_ping_system($command, 0);
+          }
+         ';
+    die $@ if $@;
+  }
   use String::Approx qw(amatch);
   use Chart::LinesPoints;
   use Chart::Mountain;
@@ -174,6 +188,8 @@ Initializes the Mason environment, loads all Freeside and RT libraries, etc.
   use FS::access_right;
   use FS::AccessRight;
   use FS::svc_phone;
+  use FS::phone_device;
+  use FS::part_device;
   use FS::reason_type;
   use FS::reason;
   use FS::cust_main_note;
@@ -183,6 +199,20 @@ Initializes the Mason environment, loads all Freeside and RT libraries, etc.
   use FS::part_pkg_taxoverride;
   use FS::part_pkg_taxrate;
   use FS::tax_rate;
+  use FS::part_pkg_report_option;
+  use FS::cust_attachment;
+  use FS::h_cust_pkg;
+  use FS::h_svc_acct;
+  use FS::h_svc_broadband;
+  use FS::h_svc_domain;
+  #use FS::h_domain_record;
+  use FS::h_svc_external;
+  use FS::h_svc_forward;
+  use FS::h_svc_phone;
+  #use FS::h_phone_device;
+  use FS::h_svc_www;
+  use FS::cust_statement;
+  # Sammath Naur
 
   if ( %%%RT_ENABLED%%% ) {
     eval '
@@ -219,7 +249,7 @@ Initializes the Mason environment, loads all Freeside and RT libraries, etc.
 
       #slow, unreliable, segfaults and is optional
       #see rt/html/Ticket/Elements/ShowTransactionAttachments
-      #use Text::Quoted;
+      use Text::Quoted;
 
       #?#use File::Path qw( rmtree );
       #?#use File::Glob qw( bsd_glob );
@@ -382,6 +412,9 @@ sub mason_interps {
                         ${$_[0]} = "'". ${$_[0]}. "'";
                       }
                     },
+    compiler     => HTML::Mason::Compiler::ToObject->new(
+                      allow_globals        => [qw(%session)],
+                    ),
   );
 
   my $rt_interp = new HTML::Mason::Interp (