From db8feb39b618eca0ab6bb0000f1d7ed3d6678a7a Mon Sep 17 00:00:00 2001 From: dakkar Date: Thu, 10 Nov 2005 17:57:01 +0000 Subject: =?UTF-8?q?=20*=20cambiato=20ordinamento=20dei=20tag=20(ora=20?= =?UTF-8?q?=C3=A8=20sempre=20alfabetico)=20=20*=20riordinata=20e=20miglior?= =?UTF-8?q?ata=20la=20form=20di=20add=20=20*=20stile=20per=20la=20form=20d?= =?UTF-8?q?i=20add=20=20*=20corretto=20il=20caricamento=20delle=20favicon?= =?UTF-8?q?=20=20*=20corretta=20la=20pulitura=20tags?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/Bookmarks/M/DB/Tags.pm | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) (limited to 'lib/Bookmarks/M/DB/Tags.pm') diff --git a/lib/Bookmarks/M/DB/Tags.pm b/lib/Bookmarks/M/DB/Tags.pm index 4ca832a..56ec4fa 100644 --- a/lib/Bookmarks/M/DB/Tags.pm +++ b/lib/Bookmarks/M/DB/Tags.pm @@ -4,20 +4,28 @@ use strict; __PACKAGE__->has_many( links => ['Bookmarks::M::DB::LinksTags' => 'link'] ); -# magari ordiniamoli per popolrità __PACKAGE__->set_sql('related_tags', <<'END_SQL'); -SELECT DISTINCT tags.pk +SELECT DISTINCT tags.pk, tags.name FROM tags, links_tags lt1, links_tags lt2 WHERE tags.pk = lt1.tag AND lt1.link = lt2.link AND lt2.tag = ? AND lt1.tag != lt2.tag +ORDER BY tags.name +END_SQL + +__PACKAGE__->set_sql('name', <<'END_SQL'); +SELECT tags.pk, tags.name, COUNT(links_tags.link) AS how_many + FROM tags LEFT JOIN links_tags + ON tags.pk = links_tags.tag +GROUP BY tags.pk +ORDER BY tags.name END_SQL __PACKAGE__->set_sql('popularity', <<'END_SQL'); SELECT tags.pk, COUNT(links_tags.link) AS how_many - FROM tags, links_tags - WHERE tags.pk = links_tags.tag + FROM tags LEFT JOIN links_tags + ON tags.pk = links_tags.tag GROUP BY tags.pk ORDER BY how_many DESC END_SQL @@ -39,6 +47,10 @@ sub get_all_tags_by_popularity { return $_[0]->search_popularity(); } +sub get_all_tags_by_name { + return $_[0]->search_name(); +} + sub links_sorter($$) { return ($_[1]->access_count || 0) -- cgit v1.2.3