stray closing /TABLE in the no-ticket case
[freeside.git] / FS / FS / Maketext.pm
1 package FS::Maketext;
2 use base qw( Exporter );
3
4 use FS::CurrentUser;
5 use FS::Conf;
6 use FS::L10N;
7 use HTML::Entities qw( encode_entities );
8
9 our @EXPORT_OK = qw( mt emt js_mt );
10
11 our $lh;
12
13 our $locale;
14 #ask FS::UID to run this stuff for us later
15 FS::UID->install_callback( sub { 
16   my $conf = new FS::Conf;
17   $locale = $conf->config('locale');
18 });
19
20 sub mt {
21   return '' if $_[0] eq '';
22   $lh ||= lh();
23   $lh->maketext(@_);
24 }
25
26 # HTML-escaped version of mt()
27 sub emt {
28     encode_entities(mt(@_));
29 }
30
31 # Javascript-escaped version of mt()
32 sub js_mt {
33   my $s = mt(@_);
34   #false laziness w/Mason.pm
35   $s =~ s/(['\\])/\\$1/g;
36   $s =~ s/\r/\\r/g;
37   $s =~ s/\n/\\n/g;
38   $s = "'$s'";
39 }
40
41 sub lh {
42   my $locale =  $FS::CurrentUser::CurrentUser->locale
43              || $locale
44              || 'en_US';
45   $locale =~ s/_/-/g;
46   FS::L10N->get_handle($locale) || die "Unknown locale $locale";
47 }
48
49 # XXX pod me
50
51 1;