summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordakkar <dakkar@luxion>2005-11-11 11:38:54 +0000
committerdakkar <dakkar@luxion>2005-11-11 11:38:54 +0000
commitb1a91d8a59cc27623989d5d79643fb167c6d0aa9 (patch)
treec47199a917975f051fba3b5d952ea6e4530ff6a6
parenttolte delle print inutili (e dannose sotto mod_perl) (diff)
downloadBookmarks-b1a91d8a59cc27623989d5d79643fb167c6d0aa9.tar.gz
Bookmarks-b1a91d8a59cc27623989d5d79643fb167c6d0aa9.tar.bz2
Bookmarks-b1a91d8a59cc27623989d5d79643fb167c6d0aa9.zip
work-around per tipi icone mal dichiarati: se non dichiarata come un'immagine, รจ un image/x-icon (ugh)
-rw-r--r--lib/Bookmarks/C/Main.pm4
-rw-r--r--lib/Bookmarks/M/DB/Links.pm18
-rwxr-xr-xscript/bookmarks_load.pl4
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();