diff options
author | dakkar <dakkar@luxion> | 2005-10-20 11:27:13 +0000 |
---|---|---|
committer | dakkar <dakkar@luxion> | 2005-10-20 11:27:13 +0000 |
commit | 86a26a896db925d5d3ee8e0d6ed226a565214912 (patch) | |
tree | 376c14bfa44a20e7bb128e4ccee5bf54eebfdfd2 /lib/Bookmarks/C/Main.pm | |
parent | relazioni, e inizio lavori (diff) | |
download | Bookmarks-86a26a896db925d5d3ee8e0d6ed226a565214912.tar.gz Bookmarks-86a26a896db925d5d3ee8e0d6ed226a565214912.tar.bz2 Bookmarks-86a26a896db925d5d3ee8e0d6ed226a565214912.zip |
comincia a far finta di andare. le icone non vengono caricate, non so perché
Diffstat (limited to 'lib/Bookmarks/C/Main.pm')
-rw-r--r-- | lib/Bookmarks/C/Main.pm | 36 |
1 files changed, 31 insertions, 5 deletions
diff --git a/lib/Bookmarks/C/Main.pm b/lib/Bookmarks/C/Main.pm index 7182a9e..89c985d 100644 --- a/lib/Bookmarks/C/Main.pm +++ b/lib/Bookmarks/C/Main.pm @@ -23,17 +23,43 @@ Catalyst component. =cut -sub default : Private { - my ( $self, $c ) = @_; - $c->res->redirect($c->req->base,'/tags'); -} - sub tags : Global { my ( $self, $c ) = @_; $c->stash->{template}='tags'; $c->stash->{tags}=[Bookmarks::M::DB::Tags->get_all_tags_by_popularity()]; } +sub tag : Regex('^tag/(.*)$') { + my ( $self, $c ) = @_; + + my $tagname=$c->req->snippets->[0]; + my ($tag)=Bookmarks::M::DB::Tags->search({name=>$tagname}); + if (!defined $tag) { + $c->stash->{tagname}=$tagname; + $c->stash->{template}='notag'; + } + else { + my @links=$tag->ordered_links(); + $c->stash->{tag}=$tag; + $c->stash->{links}=[@links]; + $c->stash->{template}='links'; + } +} + +sub icon : Global { + my ( $self, $c ) = @_; + + my $link=Bookmarks::M::DB::Links->retrieve($c->req->param('link')); + if ($link->icon()) { + $c->res->content_type('image/x-icon'); + $c->res->body($link->icon()); + } + else { + $c->res->status(404); + $c->res->body('nonce'); + } +} + =back |