X-Git-Url: https://git.deb.at/?p=deb%2Fpackages.git;a=blobdiff_plain;f=lib%2FPackages%2FTemplate.pm;h=a3268a35f046d5141003e1d6da5b6fffd7540010;hp=28d8d1ed4c84588b8dd0a2654c10350390c69ade;hb=3954845023a55026b0e57a131877cfd1b7fdc0b7;hpb=cc6c820a1e503808b7ac1e2bff132de23f87606b diff --git a/lib/Packages/Template.pm b/lib/Packages/Template.pm index 28d8d1e..a3268a3 100644 --- a/lib/Packages/Template.pm +++ b/lib/Packages/Template.pm @@ -38,10 +38,14 @@ sub new { if ($vars->{cat}) { $vars->{g} = sub { return Packages::I18N::Locale::g($vars->{cat}, @_) }; } - $vars->{extract_host} = sub { my $uri = URI->new($_[0]); - my $host = $uri->host; - $host .= ':'.$uri->port if $uri->port != $uri->default_port; - return $host; + $vars->{extract_host} = sub { my $uri_str = $_[0]; + my $uri = URI->new($uri_str); + if ($uri->can('host')) { + my $host = $uri->host; + $host .= ':'.$uri->port if $uri->port != $uri->default_port; + return $host; + } + return $uri_str; }; # needed to work around the limitations of the the FILTER syntax $vars->{html_encode} = sub { return HTML::Entities::encode_entities(@_,'<>&"') };