/usr/share/perl5/User/Identity/Location.pm is in libuser-identity-perl 0.98-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | # Copyrights 2003-2017 by [Mark Overmeer <markov@cpan.org>].
# For other contributors see Changes.
# See the manual pages for details on the licensing terms.
# Pod stripped from pm file by OODoc 2.02.
package User::Identity::Location;
use vars '$VERSION';
$VERSION = '0.98';
use base 'User::Identity::Item';
use strict;
use warnings;
use User::Identity;
use Scalar::Util 'weaken';
sub type { "location" }
sub init($)
{ my ($self, $args) = @_;
$args->{postal_code} ||= delete $args->{pc};
$self->SUPER::init($args);
exists $args->{$_} && ($self->{'UIL_'.$_} = delete $args->{$_})
foreach qw/city country country_code fax organization
pobox pobox_pc postal_code state street phone/;
$self;
}
sub street() { shift->{UIL_street} }
sub postalCode() { shift->{UIL_postal_code} }
sub pobox() { shift->{UIL_pobox} }
sub poboxPostalCode() { shift->{UIL_pobox_pc} }
#-----------------------------------------
sub city() { shift->{UIL_city} }
sub state() { shift->{UIL_state} }
sub country()
{ my $self = shift;
return $self->{UIL_country}
if defined $self->{UIL_country};
my $cc = $self->countryCode or return;
eval 'require Geography::Countries';
return if $@;
scalar Geography::Countries::country($cc);
}
sub countryCode() { shift->{UIL_country_code} }
sub organization() { shift->{UIL_organization} }
#-----------------------------------------
sub phone()
{ my $self = shift;
my $phone = $self->{UIL_phone} or return ();
my @phone = ref $phone ? @$phone : $phone;
wantarray ? @phone : $phone[0];
}
sub fax()
{ my $self = shift;
my $fax = $self->{UIL_fax} or return ();
my @fax = ref $fax ? @$fax : $fax;
wantarray ? @fax : $fax[0];
}
#-----------------------------------------
sub fullAddress()
{ my $self = shift;
my $cc = $self->countryCode || 'en';
my ($address, $pc);
if($address = $self->pobox) { $pc = $self->poboxPostalCode }
else { $address = $self->street; $pc = $self->postalCode }
my ($org, $city, $state) = @$self{ qw/UIL_organization UIL_city UIL_state/ };
return unless defined $city && defined $address;
my $country = $self->country;
$country
= defined $country ? "\n$country"
: defined $cc ? "\n".uc($cc)
: '';
if(defined $org) {$org .= "\n"} else {$org = ''};
if($cc eq 'nl')
{ $pc = "$1 ".uc($2)." " if defined $pc && $pc =~ m/(\d{4})\s*([a-zA-Z]{2})/;
return "$org$address\n$pc$city$country\n";
}
else
{ $state ||= '';
return "$org$address\n$city$state$country\n$pc";
}
}
1;
|