diff options
author | dakkar <dakkar@luxion> | 2005-10-25 13:01:24 +0000 |
---|---|---|
committer | dakkar <dakkar@luxion> | 2005-10-25 13:01:24 +0000 |
commit | 49618f03be76614f011e420fae0399150a1e0d6a (patch) | |
tree | e8e31ba69060949841a5cc2876a883639ac5d279 | |
parent | r704@narval2: dakkar | 2005-10-21 16:58:52 +0200 (diff) | |
download | Bookmarks-49618f03be76614f011e420fae0399150a1e0d6a.tar.gz Bookmarks-49618f03be76614f011e420fae0399150a1e0d6a.tar.bz2 Bookmarks-49618f03be76614f011e420fae0399150a1e0d6a.zip |
r705@narval2: dakkar | 2005-10-21 18:39:41 +0200
workaround per bug in CDBI::Loader: 'use LinksTags' esplicito in Links
ora mostra tag correlati
-rw-r--r-- | lib/Bookmarks/C/Main.pm | 2 | ||||
-rw-r--r-- | lib/Bookmarks/M/DB/Links.pm | 1 | ||||
-rw-r--r-- | lib/Bookmarks/M/DB/LinksTags.pm | 5 | ||||
-rw-r--r-- | lib/Bookmarks/M/DB/Tags.pm | 5 | ||||
-rw-r--r-- | root/links | 10 |
5 files changed, 18 insertions, 5 deletions
diff --git a/lib/Bookmarks/C/Main.pm b/lib/Bookmarks/C/Main.pm index a07c594..aa71f34 100644 --- a/lib/Bookmarks/C/Main.pm +++ b/lib/Bookmarks/C/Main.pm @@ -40,8 +40,10 @@ sub tag : Regex('^tag/(.*)$') { } else { my @links=$tag->ordered_links(); + my @related_tags=$tag->related_tags(); $c->stash->{tag}=$tag; $c->stash->{links}=[@links]; + $c->stash->{related}=[@related_tags]; $c->stash->{template}='links'; } } diff --git a/lib/Bookmarks/M/DB/Links.pm b/lib/Bookmarks/M/DB/Links.pm index 1719770..350e3d5 100644 --- a/lib/Bookmarks/M/DB/Links.pm +++ b/lib/Bookmarks/M/DB/Links.pm @@ -1,6 +1,7 @@ package Bookmarks::M::DB::Links; use strict; use MIME::Base64; +use Bookmarks::M::DB::LinksTags; for my $col_name (qw(add_date last_access_date)) { __PACKAGE__->has_a( $col_name => 'DateTime', diff --git a/lib/Bookmarks/M/DB/LinksTags.pm b/lib/Bookmarks/M/DB/LinksTags.pm index 448927e..27df97d 100644 --- a/lib/Bookmarks/M/DB/LinksTags.pm +++ b/lib/Bookmarks/M/DB/LinksTags.pm @@ -2,8 +2,9 @@ package Bookmarks::M::DB::LinksTags; use strict; -__PACKAGE__->has_a( link => 'Bookmarks::M::DB::Links' ); -__PACKAGE__->has_a( tag => 'Bookmarks::M::DB::Tags' ); +__PACKAGE__->columns( Primary => qw(link tag) ); +__PACKAGE__->has_a( 'link' => 'Bookmarks::M::DB::Links' ); +__PACKAGE__->has_a( 'tag' => 'Bookmarks::M::DB::Tags' ); =head1 NAME diff --git a/lib/Bookmarks/M/DB/Tags.pm b/lib/Bookmarks/M/DB/Tags.pm index 2bf38aa..b01695a 100644 --- a/lib/Bookmarks/M/DB/Tags.pm +++ b/lib/Bookmarks/M/DB/Tags.pm @@ -5,11 +5,12 @@ use strict; __PACKAGE__->has_many( links => ['Bookmarks::M::DB::LinksTags' => 'link'] ); __PACKAGE__->set_sql('related_tags', <<'END_SQL'); -SELECT tags.pk +SELECT DISTINCT tags.pk FROM tags, links_tags lt1, links_tags lt2 WHERE tags.pk = lt1.tag - AND lt2.link = lt2.link + AND lt1.link = lt2.link AND lt2.tag = ? + AND lt1.tag != lt2.tag END_SQL __PACKAGE__->set_sql('popularity', <<'END_SQL'); @@ -4,9 +4,17 @@ </head> <body> <p>Tag: [% tag.name %] ( [% tag.descr %] )</p> +<p>Related:</p> +<ul> +[% FOR rtag IN related %] +<li><a href="[% base _ 'tag/' _ rtag.name %]">[% rtag.name %]</a></li> +[% END %] +</ul> +<p>Links:</p> <ol> [% FOR link IN links %] -<li><img src="[% base _ 'icon?link=' _ link.pk %]" /> <a href="[% base _ 'jump?link=' _ link.pk %]">»[% link.title %]«</a> (creato: [% link.add_date() %])</li> +<li><img src="[% base _ 'icon?link=' _ link.pk %]" /> <a href="[% base _ 'jump?link=' _ link.pk %]">»[% link.title %]«</a> (creato: [% link.add_date() %]) +[% FOR rtag IN link.tags %] <a href="[% base _ 'tag/' _ rtag.name %]">[% rtag.name %]</a> - [% END %]</li> [% END %] </ol> </body> |