summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authordakkar <dakkar@luxion>2005-10-25 13:01:24 +0000
committerdakkar <dakkar@luxion>2005-10-25 13:01:24 +0000
commit49618f03be76614f011e420fae0399150a1e0d6a (patch)
treee8e31ba69060949841a5cc2876a883639ac5d279 /lib
parent r704@narval2: dakkar | 2005-10-21 16:58:52 +0200 (diff)
downloadBookmarks-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
Diffstat (limited to 'lib')
-rw-r--r--lib/Bookmarks/C/Main.pm2
-rw-r--r--lib/Bookmarks/M/DB/Links.pm1
-rw-r--r--lib/Bookmarks/M/DB/LinksTags.pm5
-rw-r--r--lib/Bookmarks/M/DB/Tags.pm5
4 files changed, 9 insertions, 4 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');