diff options
Diffstat (limited to 'lib/Bookmarks/C/Main.pm')
-rw-r--r-- | lib/Bookmarks/C/Main.pm | 26 |
1 files changed, 21 insertions, 5 deletions
diff --git a/lib/Bookmarks/C/Main.pm b/lib/Bookmarks/C/Main.pm index d957c5d..83edfa9 100644 --- a/lib/Bookmarks/C/Main.pm +++ b/lib/Bookmarks/C/Main.pm @@ -76,7 +76,7 @@ sub jump : Global { my ( $self, $c ) = @_; my $link=Bookmarks::M::DB::Links->retrieve($c->req->param('link')); - $link->access_count($link->access_count()+1); + $link->access_count(($link->access_count()||0)+1); $link->last_access_date(time()); $link->update(); @@ -177,8 +177,17 @@ sub complete_tag : Global { $c->res->body($c->prototype->auto_complete_result(\@tags)); } -=back +sub search : Global { + my ( $self, $c ) = @_; + + my $query=$c->req->param('q'); + my @tags=split /\s+/,$c->req->param('tags'); + + my @links=Bookmarks::M::DB::Links->search_complex($query,@tags); + $c->stash->{links}=[ @links ]; + $c->stash->{template}='results'; +} =head1 AUTHOR @@ -207,10 +216,17 @@ sub stylesheet { )->as_string(); } -sub tag_info { - my ($self, $tag)=@_; +sub tags { + my ($self)=@_; + return URI->new( + $self->{base} . 'tags' + )->as_string(); +} + +sub search { + my ($self)=@_; return URI->new( - $self->{base} . 'tag-info/' . $tag->name() + $self->{base} . 'search' )->as_string(); } |