[ 'freeside' => '%%%FREESIDE_DOCUMENT_ROOT%%%' ],
[ 'rt' => '%%%FREESIDE_DOCUMENT_ROOT%%%/rt' ],
],
- data_dir=>'/usr/local/etc/freeside/masondata',
+ data_dir=>'%%%MASONDATA%%%',
#out_mode=>'stream',
#RT
use vars qw( %session );
use CGI 2.47 qw(-private_tempfiles);
#use CGI::Carp qw(fatalsToBrowser);
+ use List::Util qw( max min );
use Date::Format;
use Date::Parse;
use Time::Local;
use Time::Duration;
+ use DateTime;
+ use DateTime::Format::Strptime;
+ use Lingua::EN::Inflect qw(PL);
use Tie::IxHash;
use URI::Escape;
use HTML::Entities;
}
use Text::CSV_XS;
use Spreadsheet::WriteExcel;
- use Business::CreditCard;
+ use Business::CreditCard 0.30; #for mask-aware cardtype()
use String::Approx qw(amatch);
use Chart::LinesPoints;
use Chart::Mountain;
use Color::Scheme;
- use HTML::Widgets::SelectLayers 0.05;
+ use HTML::Widgets::SelectLayers 0.06;
use Locale::Country;
use FS;
use FS::UID qw(cgisuidsetup dbh getotaker datasrc driver_name);
use FS::cust_main_county;
use FS::cust_pay;
use FS::cust_pkg;
+ use FS::cust_pkg_reason;
use FS::cust_refund;
use FS::cust_svc;
use FS::nas;
use FS::access_right;
use FS::AccessRight;
use FS::svc_phone;
+ use FS::reason_type;
+ use FS::reason;
+ use FS::cust_main_note;
if ( %%%RT_ENABLED%%% ) {
eval '