X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2FUI%2FWeb.pm;h=c2ea0a61c5c287630b276610533984b0b20c985d;hb=9528cfd540bd5bcf8ee581458d7b0e407cf12b8b;hp=cb740ee3b329fe640e1b39473adc3ef4f44e8608;hpb=09ce724404f16e036cbdfeccb64a0955dafca99a;p=freeside.git diff --git a/FS/FS/UI/Web.pm b/FS/FS/UI/Web.pm index cb740ee3b..c2ea0a61c 100644 --- a/FS/FS/UI/Web.pm +++ b/FS/FS/UI/Web.pm @@ -3,7 +3,8 @@ package FS::UI::Web; use strict; use vars qw($DEBUG @ISA @EXPORT_OK $me); use Exporter; -use Carp qw( confess );; +use Carp qw( confess ); +use HTML::Entities; use FS::Conf; use FS::Misc::DateTime qw( parse_datetime ); use FS::Record qw(dbdef); @@ -135,7 +136,8 @@ sub svc_link { sub svc_label_link { my($m, $part_svc, $cust_svc) = @_ or return ''; - svc_X_link( ($cust_svc->label)[1], @_ ); + my($svc, $label, $svcdb) = $cust_svc->label; + svc_X_link( $label, @_ ); } sub svc_X_link { @@ -382,7 +384,7 @@ sub cust_fields { map { if ( $record->custnum ) { warn " $record -> $_" if $DEBUG > 1; - $record->$_(@_); + encode_entities( $record->$_(@_) ); } else { warn " ($record unlinked)" if $DEBUG > 1; $seen_unlinked++ ? '' : '(unlinked)'; @@ -483,6 +485,20 @@ sub cust_aligns { } } +=item is_mobile + +Utility function to determine if the client is a mobile browser. + +=cut + +sub is_mobile { + my $ua = $ENV{'HTTP_USER_AGENT'} || ''; + if ( $ua =~ /(?:hiptop|Blazer|Novarra|Vagabond|SonyEricsson|Symbian|NetFront|UP.Browser|UP.Link|Windows CE|MIDP|J2ME|DoCoMo|J-PHONE|PalmOS|PalmSource|iPhone|iPod|AvantGo|Nokia|Android|WebOS|S60|Opera Mini|Opera Mobi)/io ) { + return 1; + } + return 0; +} + ### # begin JSRPC code... ### @@ -640,7 +656,9 @@ sub job_status { } #to_json(\@return); #waiting on deb 5.0 for new JSON.pm? - objToJson(\@return); + #silence the warning though + my $to_json = JSON->can('to_json') || JSON->can('objToJson'); + &$to_json(\@return); }