From b1a91d8a59cc27623989d5d79643fb167c6d0aa9 Mon Sep 17 00:00:00 2001 From: dakkar Date: Fri, 11 Nov 2005 11:38:54 +0000 Subject: =?UTF-8?q?work-around=20per=20tipi=20icone=20mal=20dichiarati:=20?= =?UTF-8?q?se=20non=20dichiarata=20come=20un'immagine,=20=C3=A8=20un=20ima?= =?UTF-8?q?ge/x-icon=20(ugh)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/Bookmarks/C/Main.pm | 4 ++-- lib/Bookmarks/M/DB/Links.pm | 18 ++++++++++++++++-- script/bookmarks_load.pl | 4 +--- 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/lib/Bookmarks/C/Main.pm b/lib/Bookmarks/C/Main.pm index 83edfa9..be50a73 100644 --- a/lib/Bookmarks/C/Main.pm +++ b/lib/Bookmarks/C/Main.pm @@ -61,9 +61,9 @@ sub icon : Global { my ( $self, $c ) = @_; my $link=Bookmarks::M::DB::Links->retrieve($c->req->param('link')); - my $icon=$link->get_icon(); + my ($icon,$type)=$link->get_icon(); if ($icon) { - $c->res->content_type($link->icon_type()); + $c->res->content_type($type); $c->res->body($icon); } else { diff --git a/lib/Bookmarks/M/DB/Links.pm b/lib/Bookmarks/M/DB/Links.pm index 5103522..ebfa963 100644 --- a/lib/Bookmarks/M/DB/Links.pm +++ b/lib/Bookmarks/M/DB/Links.pm @@ -12,12 +12,26 @@ for my $col_name (qw(add_date last_access_date)) { } sub set_icon { - my ($self,$icon)=@_; + my ($self,$icon,$type)=@_; + $self->icon(encode_base64($icon||'')); + $type||=''; + if ($type !~ m{^image/}) { + $type='image/x-icon'; + } + $self->icon_type($type); + + return; } sub get_icon { my ($self)=@_; - return decode_base64($self->icon()||''); + + my $type=$self->icon_type()||''; + if ($type !~ m{^image/}) { + $type='image/x-icon'; + } + + return (decode_base64($self->icon()||''),$type); } sub search_complex { diff --git a/script/bookmarks_load.pl b/script/bookmarks_load.pl index 6433f24..0af3c20 100755 --- a/script/bookmarks_load.pl +++ b/script/bookmarks_load.pl @@ -35,9 +35,7 @@ for my $link (@$links) { $link->{description}.=' [INVALID]'; } else { - my ($icon,$type)=Bookmarks::Utils::get_site_icon($link->{href}); - $dblink->set_icon($icon); - $dblink->icon_type($type); + $dblink->set_icon(Bookmarks::Utils::get_site_icon($link->{href})); } $link->{created}||=time(); $link->{modified}||=time(); -- cgit v1.2.3