line |
true |
false |
branch |
113
|
2 |
31 |
ref $_[0] eq 'HASH' ? :
|
115
|
0 |
33 |
if (not defined $class) { }
|
|
0 |
33 |
elsif (ref $class) { }
|
131
|
3 |
30 |
unless ($params{'supported'})
|
139
|
0 |
0 |
if ($cache and $ENV{'REMOTE_ADDR'})
|
142
|
0 |
0 |
if ($info and $l = $info->lang) { }
|
|
0 |
0 |
elsif ($l = $class->_what_language) { }
|
148
|
0 |
0 |
if ($logger)
|
151
|
0 |
0 |
if (my $rc = $cache->get($key))
|
152
|
0 |
0 |
if ($logger)
|
165
|
0 |
0 |
if ($rc->{'_what_language'} || $rc->{'_rlanguage'} and $info and $info->lang)
|
197
|
31 |
0 |
if (defined $^V and $^V ge "v5.14.0")
|
198
|
0 |
31 |
if ${^GLOBAL_PHASE} eq "DESTRUCT"
|
200
|
11 |
20 |
unless ($ENV{'REMOTE_ADDR'})
|
204
|
0 |
20 |
unless ref $self
|
207
|
20 |
0 |
unless $cache
|
210
|
0 |
0 |
if (my $l = $self->_what_language)
|
214
|
0 |
0 |
if $cache->get($key)
|
216
|
0 |
0 |
if (my $logger = $self->{'_logger'})
|
246
|
0 |
0 |
unless $warning
|
248
|
0 |
0 |
if (my $syslog = $self->{'_syslog'})
|
254
|
0 |
0 |
if (ref $syslog eq "HASH")
|
257
|
0 |
0 |
if (my $info = $self->{'_info'}) { }
|
266
|
0 |
0 |
if ($self->{'_logger'}) { }
|
|
0 |
0 |
elsif (not defined $self->{'_syslog'}) { }
|
307
|
10 |
7 |
unless ($self->{'_slanguage'})
|
338
|
1 |
15 |
unless ($self->{'_slanguage'})
|
357
|
0 |
8 |
if ($self->{'_logger'})
|
360
|
1 |
7 |
unless ($self->{'_slanguage'})
|
363
|
0 |
8 |
if ($self->{'_logger'})
|
391
|
0 |
0 |
unless ($self->{'_slanguage'})
|
411
|
10 |
29 |
unless ($self->{'_rlanguage'})
|
425
|
0 |
22 |
if ($self->{'_logger'})
|
433
|
21 |
1 |
if (defined $http_accept_language)
|
434
|
0 |
21 |
if ($self->{'_logger'})
|
440
|
0 |
0 |
if (not $_[0] =~ /^Use of uninitialized value/)
|
447
|
3 |
18 |
if (not $l and $http_accept_language =~ /(.+)-.+/)
|
453
|
2 |
1 |
if ($i18n->accepts($1, $self->{'_supported'}))
|
458
|
19 |
2 |
if ($l) { }
|
|
0 |
3 |
elsif ($http_accept_language =~ /;/ and defined $self->{'_logger'}) { }
|
459
|
0 |
19 |
if ($self->{'_logger'})
|
463
|
6 |
13 |
if (not $l =~ /^..-..$/) { }
|
|
13 |
0 |
elsif ($l =~ /(.+)-(..)$/) { }
|
465
|
6 |
0 |
if ($self->{'_slanguage'})
|
466
|
0 |
6 |
if ($self->{'_logger'})
|
477
|
3 |
3 |
if ($http_accept_language =~ /..-(..)$/) { }
|
|
0 |
3 |
elsif ($http_accept_language =~ /..-([a-z]{2,3})$/i) { }
|
482
|
3 |
3 |
if ($sl)
|
496
|
13 |
0 |
if ($accepts)
|
497
|
0 |
13 |
if ($self->{'_logger'})
|
500
|
13 |
0 |
if ($accepts =~ /\-/) { }
|
504
|
0 |
0 |
if ($self->{'_cache'})
|
507
|
0 |
0 |
if ($from_cache) { }
|
508
|
0 |
0 |
if ($self->{'_logger'})
|
515
|
0 |
0 |
if ($self->{'_slanguage'})
|
516
|
0 |
0 |
if ($variety eq "uk")
|
524
|
0 |
0 |
if (defined $c)
|
528
|
0 |
0 |
if ($self->{'_sublanguage'})
|
530
|
0 |
0 |
if ($self->{'_logger'})
|
535
|
0 |
0 |
unless ($from_cache)
|
536
|
0 |
0 |
if ($self->{'_logger'})
|
546
|
0 |
13 |
if ($self->{'_logger'})
|
549
|
13 |
0 |
if ($accepts)
|
553
|
13 |
0 |
if ($variety =~ /[a-z]{2,3}/ and not defined $self->{'_sublanguage'})
|
555
|
0 |
13 |
if ($self->{'_logger'})
|
558
|
0 |
13 |
if ($variety eq "uk")
|
567
|
0 |
13 |
if ($self->{'_cache'})
|
570
|
0 |
13 |
if (defined $from_cache) { }
|
571
|
0 |
0 |
if ($self->{'_logger'})
|
585
|
13 |
0 |
if (defined $results[0])
|
591
|
0 |
13 |
if ($@ or not defined $language_name) { }
|
598
|
0 |
13 |
if ($self->{'_logger'})
|
601
|
0 |
13 |
if ($self->{'_cache'} and not defined $from_cache)
|
602
|
0 |
0 |
if ($self->{'_logger'})
|
609
|
13 |
0 |
if (defined $self->{'_sublanguage'})
|
619
|
0 |
2 |
if ($self->{'_slanguage'} and $self->{'_slanguage'} ne "Unknown")
|
620
|
0 |
0 |
if ($self->{'_rlanguage'} eq "Unknown")
|
623
|
0 |
0 |
if ($self->{'_rlanguage'})
|
624
|
0 |
0 |
if ($l = $self->_code2language($self->{'_rlanguage'}))
|
635
|
1 |
1 |
if (!$self->{'_rlanguage'} || $self->{'_rlanguage'} eq 'Unknown' and length $http_accept_language == 2 || $http_accept_language =~ /^..-..$/)
|
639
|
1 |
0 |
unless ($self->{'_rlanguage'})
|
646
|
0 |
3 |
if ($self->{'_dont_use_ip'})
|
655
|
2 |
1 |
if (not defined $country and my $c = $self->_what_language)
|
656
|
0 |
2 |
if ($c =~ /^(..)_(..)/) { }
|
|
1 |
1 |
elsif ($c =~ /^(..)$/) { }
|
663
|
1 |
2 |
if (defined $country)
|
664
|
0 |
1 |
if ($self->{'_logger'})
|
670
|
0 |
1 |
if ($self->{'_cache'})
|
675
|
0 |
1 |
if ($from_cache) { }
|
676
|
0 |
0 |
if ($self->{'_logger'})
|
682
|
0 |
1 |
if ($l)
|
684
|
0 |
0 |
if (defined $l)
|
687
|
0 |
0 |
if ($self->{'_logger'} and $language_name)
|
694
|
0 |
1 |
if ($language_name) { }
|
|
0 |
1 |
elsif (defined $ip) { }
|
695
|
0 |
0 |
if (not defined $self->{'_rlanguage'} or $self->{'_rlanguage'} eq "Unknown")
|
698
|
0 |
0 |
unless (exists $self->{'_slanguage'} and $self->{'_slanguage'} ne "Unknown")
|
703
|
0 |
0 |
if ($language_name and $language_code2 and not defined $http_accept_language) { }
|
705
|
0 |
0 |
if ($self->{'_logger'})
|
710
|
0 |
0 |
if ($self->{'_logger'})
|
714
|
0 |
0 |
unless ($code)
|
715
|
0 |
0 |
if ($http_accept_language and $http_accept_language ne $self->{'_rlanguage'})
|
716
|
0 |
0 |
if ($self->{'_logger'})
|
721
|
0 |
0 |
unless ($code)
|
724
|
0 |
0 |
if ($self->{'_rlanguage'} =~ /(.+)\s\(.+/)
|
725
|
0 |
0 |
if (not defined $http_accept_language or $1 ne $self->{'_rlanguage'})
|
726
|
0 |
0 |
if ($self->{'_logger'})
|
732
|
0 |
0 |
unless ($code)
|
740
|
0 |
0 |
if ($code)
|
742
|
0 |
0 |
$self->{'_slanguage'} ? :
|
751
|
0 |
0 |
if (not defined $self->{'_slanguage_code_alpha2'}) { }
|
|
0 |
0 |
elsif (not defined $from_cache and $self->{'_cache'} and defined $self->{'_slanguage_code_alpha2'}) { }
|
752
|
0 |
0 |
if ($self->{'_logger'})
|
757
|
0 |
0 |
if ($self->{'_logger'})
|
778
|
10 |
3 |
if (/^(.+)-.+/) { }
|
783
|
13 |
0 |
if ($language_string eq $s)
|
795
|
25 |
0 |
if (ref $self)
|
796
|
0 |
25 |
if ($self->{'_logger'})
|
799
|
2 |
23 |
if ($self->{'_what_language'})
|
800
|
0 |
2 |
if ($self->{'_logger'})
|
805
|
0 |
23 |
if (my $info = $self->{'_info'})
|
806
|
0 |
0 |
if (my $rc = $info->lang)
|
808
|
0 |
0 |
if ($self->{'_logger'})
|
816
|
0 |
23 |
if (defined $ENV{'LANG'})
|
819
|
0 |
0 |
if (ref $self)
|
825
|
21 |
2 |
if ($ENV{'HTTP_ACCEPT_LANGUAGE'})
|
826
|
21 |
0 |
if (ref $self)
|
847
|
0 |
12 |
if ($self->{'_logger'})
|
854
|
0 |
12 |
if ($self->{'_country'})
|
855
|
0 |
0 |
if ($self->{'_logger'})
|
862
|
0 |
12 |
if (defined $ENV{'GEOIP_COUNTRY_CODE'})
|
866
|
2 |
10 |
if ($ENV{'HTTP_CF_IPCOUNTRY'} and $ENV{'HTTP_CF_IPCOUNTRY'} ne "XX")
|
874
|
10 |
0 |
unless defined $ip
|
879
|
0 |
0 |
unless (is_ipv4($ip))
|
880
|
0 |
0 |
if ($ip eq '::1') { }
|
890
|
0 |
0 |
if (is_private_ip($ip))
|
891
|
0 |
0 |
if ($self->{'_logger'})
|
896
|
0 |
0 |
if (is_loopback_ip($ip))
|
897
|
0 |
0 |
if ($self->{'_logger'})
|
903
|
0 |
0 |
if ($self->{'_cache'})
|
905
|
0 |
0 |
if ($self->{'_logger'})
|
906
|
0 |
0 |
if (defined $self->{'_country'}) { }
|
912
|
0 |
0 |
if (defined $self->{'_country'})
|
917
|
0 |
0 |
if ($self->{'_have_ipcountry'} == -1)
|
918
|
0 |
0 |
if (eval {
|
926
|
0 |
0 |
if ($self->{'_logger'})
|
930
|
0 |
0 |
if ($self->{'_have_ipcountry'})
|
932
|
0 |
0 |
if ($self->{'_country'}) { }
|
940
|
0 |
0 |
unless (defined $self->{'_country'})
|
941
|
0 |
0 |
if ($self->{'_have_geoip'} == -1)
|
944
|
0 |
0 |
if ($self->{'_have_geoip'} == 1)
|
947
|
0 |
0 |
unless (defined $self->{'_country'})
|
948
|
0 |
0 |
if ($self->{'_have_geoipfree'} == -1)
|
952
|
0 |
0 |
if ($@) { }
|
960
|
0 |
0 |
if ($self->{'_have_geoipfree'} == 1)
|
965
|
0 |
0 |
if ($self->{'_country'} and $self->{'_country'} eq "eu")
|
968
|
0 |
0 |
if (not $self->{'_country'} and eval {
|
970
|
0 |
0 |
if ($self->{'_logger'})
|
977
|
0 |
0 |
if (my $data = LWP::Simple::WithCache::get("http://www.geoplugin.net/json.gp?ip=$ip"))
|
981
|
0 |
0 |
unless ($self->{'_country'})
|
982
|
0 |
0 |
if ($self->{'_logger'})
|
997
|
0 |
0 |
unless ($@ or not defined $whois or ref $whois ne "HASH")
|
998
|
0 |
0 |
if (defined $whois->{'Country'}) { }
|
|
0 |
0 |
elsif (defined $whois->{'country'}) { }
|
1003
|
0 |
0 |
if ($self->{'_country'})
|
1004
|
0 |
0 |
if ($self->{'_country'} eq 'EU') { }
|
|
0 |
0 |
elsif ($self->{'_country'} eq 'US' and $whois->{'StateProv'} eq 'PR') { }
|
1013
|
0 |
0 |
if ($self->{'_country'}) { }
|
1014
|
0 |
0 |
if ($self->{'_logger'})
|
1018
|
0 |
0 |
if ($self->{'_logger'})
|
1029
|
0 |
0 |
unless ($@)
|
1031
|
0 |
0 |
if ($self->{'_logger'})
|
1037
|
0 |
0 |
if ($self->{'_country'})
|
1040
|
0 |
0 |
if ($self->{'_country'} =~ /^(..)\s*#/)
|
1048
|
0 |
0 |
if ($self->{'_country'})
|
1050
|
0 |
0 |
if ($self->{'_country'} eq 'hk') { }
|
|
0 |
0 |
elsif ($self->{'_country'} eq 'eu') { }
|
1059
|
0 |
0 |
if (subnet_matcher('185.10.104.0/22')->($ip)) { }
|
1069
|
0 |
0 |
if ($self->{'_cache'})
|
1070
|
0 |
0 |
if ($self->{'_logger'})
|
1084
|
0 |
0 |
if ($^O eq 'MSWin32' or -r '/usr/local/share/GeoIP/GeoIP.dat' or -r '/usr/share/GeoIP/GeoIP.dat') { }
|
1088
|
0 |
0 |
if ($@) { }
|
1093
|
0 |
0 |
if (-r '/usr/share/GeoIP/GeoIP.dat') { }
|
1125
|
0 |
1 |
if ($self->{'_locale'})
|
1133
|
1 |
0 |
if (defined $agent and $agent =~ /\((.+)\)/)
|
1139
|
0 |
5 |
if ($candidate =~ /^[a-zA-Z]{2}-([a-zA-Z]{2})$/)
|
1142
|
0 |
0 |
if ($c)
|
1150
|
1 |
0 |
if (eval {
|
1154
|
1 |
0 |
if ($browser and $browser->country)
|
1156
|
1 |
0 |
if ($c)
|
1167
|
0 |
0 |
if ($country)
|
1175
|
0 |
0 |
unless ($@)
|
1176
|
0 |
0 |
if ($c)
|
1184
|
0 |
0 |
if (defined $ENV{'GEOIP_COUNTRY_CODE'})
|
1187
|
0 |
0 |
if ($c)
|
1207
|
0 |
0 |
if ($self->{'_logger'})
|
1210
|
0 |
0 |
if ($self->{'_timezone'})
|
1211
|
0 |
0 |
if ($self->{'_logger'})
|
1217
|
0 |
0 |
if ($self->{'_have_geoip'} == -1)
|
1220
|
0 |
0 |
if (my $ip = $ENV{'REMOTE_ADDR'}) { }
|
1221
|
0 |
0 |
if ($self->{'_have_geoip'} == 1)
|
1224
|
0 |
0 |
unless ($self->{'_timezone'})
|
1225
|
0 |
0 |
if (eval {
|
1226
|
0 |
0 |
if ($self->{'_logger'})
|
1233
|
0 |
0 |
if (my $data = LWP::Simple::WithCache::get("http://ip-api.com/json/$ip"))
|
1242
|
0 |
0 |
if (open my $fin, '<', '/etc/timezone') { }
|
1251
|
0 |
0 |
if ($self->{'_logger'} and not defined $self->{'_timezone'})
|
1262
|
0 |
20 |
unless $code
|
1263
|
0 |
20 |
if ($self->{'_logger'})
|
1264
|
0 |
0 |
if (defined $self->{'_country'}) { }
|
1270
|
20 |
0 |
unless ($self->{'_cache'})
|
1274
|
0 |
0 |
if ($from_cache)
|
1275
|
0 |
0 |
if ($self->{'_logger'})
|
1280
|
0 |
0 |
if ($self->{'_logger'})
|
1291
|
0 |
18 |
unless $code
|
1292
|
0 |
18 |
if ($self->{'_logger'})
|
1293
|
0 |
0 |
if ($self->{'_country'}) { }
|
1300
|
0 |
1 |
if (not $_[0] =~ /No result found in country table/)
|
1314
|
0 |
13 |
unless $code
|
1315
|
0 |
13 |
if ($self->{'_logger'})
|
1318
|
13 |
0 |
unless ($self->{'_cache'})
|
1320
|
13 |
0 |
if (defined $country)
|
1326
|
0 |
0 |
if ($from_cache)
|
1327
|
0 |
0 |
if ($self->{'_logger'})
|
1332
|
0 |
0 |
if ($self->{'_logger'})
|
1336
|
0 |
0 |
if (defined $country)
|