projects
/
freeside.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
DNS, RT#8933
[freeside.git]
/
FS
/
FS
/
Mason.pm
diff --git
a/FS/FS/Mason.pm
b/FS/FS/Mason.pm
index
150a6c0
..
7be78aa
100644
(file)
--- a/
FS/FS/Mason.pm
+++ b/
FS/FS/Mason.pm
@@
-3,6
+3,7
@@
package FS::Mason;
use strict;
use vars qw( @ISA @EXPORT_OK $addl_handler_use );
use Exporter;
use strict;
use vars qw( @ISA @EXPORT_OK $addl_handler_use );
use Exporter;
+use Carp;
use File::Slurp qw( slurp );
use HTML::Mason 1.27; #http://www.masonhq.com/?ApacheModPerl2Redirect
use HTML::Mason::Interp;
use File::Slurp qw( slurp );
use HTML::Mason 1.27; #http://www.masonhq.com/?ApacheModPerl2Redirect
use HTML::Mason::Interp;
@@
-73,6
+74,8
@@
if ( -e $addl_handler_use_file ) {
use HTML::FormatText;
use HTML::Defang;
use JSON;
use HTML::FormatText;
use HTML::Defang;
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;
@@
-109,6
+112,7
@@
if ( -e $addl_handler_use_file ) {
#selectlayers.html
use Locale::Country;
use Business::US::USPS::WebTools::AddressStandardization;
#selectlayers.html
use Locale::Country;
use Business::US::USPS::WebTools::AddressStandardization;
+ use LWP::UserAgent;
use FS;
use FS::UID qw( getotaker dbh datasrc driver_name );
use FS::Record qw( qsearch qsearchs fields dbdef
use FS;
use FS::UID qw( getotaker dbh datasrc driver_name );
use FS::Record qw( qsearch qsearchs fields dbdef
@@
-143,6
+147,7
@@
if ( -e $addl_handler_use_file ) {
use FS::cust_location;
use FS::cust_pay;
use FS::cust_pkg;
use FS::cust_location;
use FS::cust_pay;
use FS::cust_pkg;
+ use FS::cust_pkg::Import;
use FS::part_pkg_taxclass;
use FS::cust_pkg_reason;
use FS::cust_refund;
use FS::part_pkg_taxclass;
use FS::cust_pkg_reason;
use FS::cust_refund;
@@
-240,6
+245,13
@@
if ( -e $addl_handler_use_file ) {
use FS::cgp_rule;
use FS::cgp_rule_condition;
use FS::cgp_rule_action;
use FS::cgp_rule;
use FS::cgp_rule_condition;
use FS::cgp_rule_action;
+ use FS::bill_batch;
+ use FS::cust_bill_batch;
+ use FS::rate_time;
+ use FS::rate_time_interval;
+ use FS::msg_template;
+ use FS::part_tag;
+ use FS::acct_snarf;
# Sammath Naur
if ( $FS::Mason::addl_handler_use ) {
# Sammath Naur
if ( $FS::Mason::addl_handler_use ) {
@@
-252,6
+264,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;
@@
-282,6
+295,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;
@@
-347,6
+363,7
@@
if ( -e $addl_handler_use_file ) {
sub include {
use vars qw($m);
sub include {
use vars qw($m);
+ #carp #should just switch to <& &> syntax
$m->scomp(@_);
}
$m->scomp(@_);
}
@@
-436,7
+453,7
@@
sub mason_interps {
RT::LoadConfig();
}
RT::LoadConfig();
}
- # A hook supporting strange legacy ways people have added stuff on
+ # A hook supporting strange legacy ways people
(well, SG)
have added stuff on
my @addl_comp_root = ();
my $addl_comp_root_file = '%%%FREESIDE_CONF%%%/addl_comp_root.pl';
my @addl_comp_root = ();
my $addl_comp_root_file = '%%%FREESIDE_CONF%%%/addl_comp_root.pl';
@@
-451,31
+468,38
@@
sub mason_interps {
}
}
}
}
+ my $fs_comp_root =
+ scalar(@addl_comp_root)
+ ? [
+ [ 'freeside'=>'%%%FREESIDE_DOCUMENT_ROOT%%%' ],
+ @addl_comp_root,
+ ]
+ : '%%%FREESIDE_DOCUMENT_ROOT%%%';
+
my %interp = (
request_class => $request_class,
data_dir => '%%%MASONDATA%%%',
error_mode => 'output',
error_format => 'html',
ignore_warnings_expr => '.',
my %interp = (
request_class => $request_class,
data_dir => '%%%MASONDATA%%%',
error_mode => 'output',
error_format => 'html',
ignore_warnings_expr => '.',
- comp_root => [
- [ 'freeside'=>'%%%FREESIDE_DOCUMENT_ROOT%%%' ],
- [ 'rt' =>'%%%FREESIDE_DOCUMENT_ROOT%%%/rt' ],
- @addl_comp_root,
- ],
);
$interp{out_method} = $opt{outbuf} if $mode eq 'standalone' && $opt{outbuf};
my $html_defang = new HTML::Defang (%defang_opts);
);
$interp{out_method} = $opt{outbuf} if $mode eq 'standalone' && $opt{outbuf};
my $html_defang = new HTML::Defang (%defang_opts);
+ my $js_string_sub = sub {
+ #${$_[0]} =~ s/(['\\\n])/'\\'.($1 eq "\n" ? 'n' : $1)/ge;
+ ${$_[0]} =~ s/(['\\])/\\$1/g;
+ ${$_[0]} =~ s/\r/\\r/g;
+ ${$_[0]} =~ s/\n/\\n/g;
+ ${$_[0]} = "'". ${$_[0]}. "'";
+ };
+
my $fs_interp = new HTML::Mason::Interp (
%interp,
my $fs_interp = new HTML::Mason::Interp (
%interp,
- escape_flags => { 'js_string' => sub {
- #${$_[0]} =~ s/(['\\\n])/'\\'.($1 eq "\n" ? 'n' : $1)/ge;
- ${$_[0]} =~ s/(['\\])/\\$1/g;
- ${$_[0]} =~ s/\n/\\n/g;
- ${$_[0]} = "'". ${$_[0]}. "'";
- },
+ comp_root => $fs_comp_root,
+ escape_flags => { 'js_string' => $js_string_sub,
'defang' => sub {
${$_[0]} = $html_defang->defang(${$_[0]});
},
'defang' => sub {
${$_[0]} = $html_defang->defang(${$_[0]});
},
@@
-487,7
+511,13
@@
sub mason_interps {
my $rt_interp = new HTML::Mason::Interp (
%interp,
my $rt_interp = new HTML::Mason::Interp (
%interp,
- escape_flags => { 'h' => \&RT::Interface::Web::EscapeUTF8 },
+ comp_root => [
+ [ 'rt' => '%%%FREESIDE_DOCUMENT_ROOT%%%/rt' ],
+ [ 'freeside' => '%%%FREESIDE_DOCUMENT_ROOT%%%' ],
+ ],
+ escape_flags => { 'h' => \&RT::Interface::Web::EscapeUTF8,
+ 'js_string' => $js_string_sub,
+ },
compiler => HTML::Mason::Compiler::ToObject->new(
default_escape_flags => 'h',
allow_globals => [qw(%session)],
compiler => HTML::Mason::Compiler::ToObject->new(
default_escape_flags => 'h',
allow_globals => [qw(%session)],