use Date::Format;
use Date::Parse;
use Time::Local;
+use Time::Duration;
use Tie::IxHash;
+use URI::Escape;
use HTML::Entities;
+use JSON;
use IO::Handle;
use IO::File;
+use IO::Scalar;
use Net::Whois::Raw qw(whois);
if ( $] < 5.006 ) {
eval "use Net::Whois::Raw 0.32 qw(whois)";
die $@ if $@;
}
+use Text::CSV_XS;
+use Spreadsheet::WriteExcel;
use Business::CreditCard;
use String::Approx qw(amatch);
use Chart::LinesPoints;
-use HTML::Widgets::SelectLayers 0.03;
+use HTML::Widgets::SelectLayers 0.05;
+use FS;
use FS::UID qw(cgisuidsetup dbh getotaker datasrc driver_name);
use FS::Record qw(qsearch qsearchs fields dbdef);
use FS::Conf;
use FS::CGI qw(header menubar popurl table itable ntable idiot eidiot
small_custview myexit http_header);
+use FS::UI::Web;
use FS::Msgcat qw(gettext geterror);
use FS::Misc qw( send_email );
use FS::Report::Table::Monthly;
+use FS::TicketSystem;
use FS::agent;
use FS::agent_type;
use FS::cust_bill_pay;
use FS::cust_credit;
use FS::cust_credit_bill;
-use FS::cust_main;
+use FS::cust_main qw(smart_search);
use FS::cust_main_county;
use FS::cust_pay;
use FS::cust_pkg;
use FS::part_export_option;
use FS::export_svc;
use FS::msgcat;
+use FS::rate;
+use FS::rate_region;
+use FS::rate_prefix;
+use FS::payment_gateway;
+use FS::agent_payment_gateway;
sub Script_OnStart {
$Response->AddHeader('Cache-control' => 'no-cache');
}
sub include {
- ( my $file = shift ) =~ s(^/)(%%%FREESIDE_DOCUMENT_ROOT%%%/);
+ my $file = shift;
+ my $shift = 0;
+ if ( $file =~ m(^([^/].*)/[^/]+) ) {
+ unshift @{$Response->{asp}{includes_dir}}, "./$1";
+ $shift = 1;
+ }
+ $file =~ s(^/)(%%%FREESIDE_DOCUMENT_ROOT%%%/);
#broken in 5.005# ${$Response->TrapInclude($file, @_)};
my $ref = $Response->TrapInclude($file, @_);
+ shift @{$Response->{asp}{includes_dir}} if $shift;
$$ref;
}