projects
/
freeside.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
final fix for ticket links graph reliability: make sure RT::Util saft_run-child is...
[freeside.git]
/
FS
/
FS
/
Mason.pm
diff --git
a/FS/FS/Mason.pm
b/FS/FS/Mason.pm
index
09f857a
..
6bc2338
100644
(file)
--- a/
FS/FS/Mason.pm
+++ b/
FS/FS/Mason.pm
@@
-57,20
+57,24
@@
if ( -e $addl_handler_use_file ) {
use List::Util qw( max min );
use Data::Dumper;
use Date::Format;
use List::Util qw( max min );
use Data::Dumper;
use Date::Format;
- use Date::Parse;
use Time::Local;
use Time::HiRes;
use Time::Duration;
use DateTime;
use DateTime::Format::Strptime;
use Time::Local;
use Time::HiRes;
use Time::Duration;
use DateTime;
use DateTime::Format::Strptime;
+ use FS::Misc::DateTime qw( parse_datetime );
use Lingua::EN::Inflect qw(PL);
use Lingua::EN::Inflect qw(PL);
+ Lingua::EN::Inflect::classical names=>0; #Categorys
use Tie::IxHash;
use URI;
use URI::Escape;
use HTML::Entities;
use HTML::TreeBuilder;
use HTML::FormatText;
use Tie::IxHash;
use URI;
use URI::Escape;
use HTML::Entities;
use HTML::TreeBuilder;
use HTML::FormatText;
+ use HTML::Defang;
use JSON;
use JSON;
+# use XMLRPC::Transport::HTTP;
+# use XMLRPC::Lite; # for XMLRPC::Serializer
use MIME::Base64;
use IO::Handle;
use IO::File;
use MIME::Base64;
use IO::Handle;
use IO::File;
@@
-101,6
+105,7
@@
if ( -e $addl_handler_use_file ) {
use String::Approx qw(amatch);
use Chart::LinesPoints;
use Chart::Mountain;
use String::Approx qw(amatch);
use Chart::LinesPoints;
use Chart::Mountain;
+ use Chart::Bars;
use Color::Scheme;
use HTML::Widgets::SelectLayers 0.07; #should go away in favor of
#selectlayers.html
use Color::Scheme;
use HTML::Widgets::SelectLayers 0.07; #should go away in favor of
#selectlayers.html
@@
-122,6
+127,7
@@
if ( -e $addl_handler_use_file ) {
states_hash counties cities state_label
);
use FS::Misc::eps2png qw( eps2png );
states_hash counties cities state_label
);
use FS::Misc::eps2png qw( eps2png );
+ use FS::Report::FCC_477;
use FS::Report::Table::Monthly;
use FS::TicketSystem;
use FS::Tron qw( tron_lint );
use FS::Report::Table::Monthly;
use FS::TicketSystem;
use FS::Tron qw( tron_lint );
@@
-174,6
+180,7
@@
if ( -e $addl_handler_use_file ) {
use FS::part_export;
use FS::part_export_option;
use FS::export_svc;
use FS::part_export;
use FS::part_export_option;
use FS::export_svc;
+ use FS::export_device;
use FS::msgcat;
use FS::rate;
use FS::rate_region;
use FS::msgcat;
use FS::rate;
use FS::rate_region;
@@
-212,6
+219,7
@@
if ( -e $addl_handler_use_file ) {
use FS::part_pkg_report_option;
use FS::cust_attachment;
use FS::h_cust_pkg;
use FS::part_pkg_report_option;
use FS::cust_attachment;
use FS::h_cust_pkg;
+ use FS::h_inventory_item;
use FS::h_svc_acct;
use FS::h_svc_broadband;
use FS::h_svc_domain;
use FS::h_svc_acct;
use FS::h_svc_broadband;
use FS::h_svc_domain;
@@
-227,6
+235,15
@@
if ( -e $addl_handler_use_file ) {
use FS::prospect_main;
use FS::contact;
use FS::svc_pbx;
use FS::prospect_main;
use FS::contact;
use FS::svc_pbx;
+ use FS::discount;
+ use FS::cust_pkg_discount;
+ use FS::cust_bill_pkg_discount;
+ use FS::svc_mailinglist;
+ use FS::cgp_rule;
+ use FS::cgp_rule_condition;
+ use FS::cgp_rule_action;
+ use FS::bill_batch;
+ use FS::cust_bill_batch;
# Sammath Naur
if ( $FS::Mason::addl_handler_use ) {
# Sammath Naur
if ( $FS::Mason::addl_handler_use ) {
@@
-239,6
+256,7
@@
if ( -e $addl_handler_use_file ) {
use lib ( "/opt/rt3/local/lib", "/opt/rt3/lib" );
use vars qw($Nobody $SystemUser);
use RT;
use lib ( "/opt/rt3/local/lib", "/opt/rt3/lib" );
use vars qw($Nobody $SystemUser);
use RT;
+ use RT::Util;
use RT::Tickets;
use RT::Transactions;
use RT::Users;
use RT::Tickets;
use RT::Transactions;
use RT::Users;
@@
-269,6
+287,9
@@
if ( -e $addl_handler_use_file ) {
use RT::Interface::Web::Request;
use RT::Interface::Web::Request;
+ #nother undeclared web UI dep (for ticket links graph)
+ use IPC::Run::SafeHandles;
+
#slow, unreliable, segfaults and is optional
#see rt/html/Ticket/Elements/ShowTransactionAttachments
#use Text::Quoted;
#slow, unreliable, segfaults and is optional
#see rt/html/Ticket/Elements/ShowTransactionAttachments
#use Text::Quoted;
@@
-342,6
+363,11
@@
if ( -e $addl_handler_use_file ) {
$m->comp('/elements/errorpage.html', @_);
}
$m->comp('/elements/errorpage.html', @_);
}
+ sub errorpage_popup {
+ use vars qw($m);
+ $m->comp('/elements/errorpage-popup.html', @_);
+ }
+
sub redirect {
my( $location ) = @_;
use vars qw($m);
sub redirect {
my( $location ) = @_;
use vars qw($m);
@@
-403,6
+429,8
@@
I<outbuf> should be set to a scalar reference in standalone mode.
=cut
=cut
+my %defang_opts = ( attribs_to_callback => ['src'], attribs_callback => sub { 1 });
+
sub mason_interps {
my $mode = shift || 'apache';
my %opt = @_;
sub mason_interps {
my $mode = shift || 'apache';
my %opt = @_;
@@
-446,6
+474,8
@@
sub mason_interps {
$interp{out_method} = $opt{outbuf} if $mode eq 'standalone' && $opt{outbuf};
$interp{out_method} = $opt{outbuf} if $mode eq 'standalone' && $opt{outbuf};
+ my $html_defang = new HTML::Defang (%defang_opts);
+
my $fs_interp = new HTML::Mason::Interp (
%interp,
escape_flags => { 'js_string' => sub {
my $fs_interp = new HTML::Mason::Interp (
%interp,
escape_flags => { 'js_string' => sub {
@@
-453,7
+483,10
@@
sub mason_interps {
${$_[0]} =~ s/(['\\])/\\$1/g;
${$_[0]} =~ s/\n/\\n/g;
${$_[0]} = "'". ${$_[0]}. "'";
${$_[0]} =~ s/(['\\])/\\$1/g;
${$_[0]} =~ s/\n/\\n/g;
${$_[0]} = "'". ${$_[0]}. "'";
- }
+ },
+ 'defang' => sub {
+ ${$_[0]} = $html_defang->defang(${$_[0]});
+ },
},
compiler => HTML::Mason::Compiler::ToObject->new(
allow_globals => [qw(%session)],
},
compiler => HTML::Mason::Compiler::ToObject->new(
allow_globals => [qw(%session)],