X-Git-Url: https://git.decadent.org.uk/gitweb/?p=memories.git;a=blobdiff_plain;f=Memories%2FTag.pm;fp=Memories%2FTag.pm;h=3354489cc661d3a15c9738dddb0687a7fecd669a;hp=1140185a307e45e07b328e919a463c9d4120c802;hb=c4b2f2843ca943f5235a1abb001523bffb7205c4;hpb=6c828edcb380b80c77f01caecd306337a954de36 diff --git a/Memories/Tag.pm b/Memories/Tag.pm index 1140185..3354489 100644 --- a/Memories/Tag.pm +++ b/Memories/Tag.pm @@ -5,10 +5,9 @@ __PACKAGE__->columns(Essential => qw/id name/); Memories::Photo->set_sql(sorted_by_tag => q/ SELECT photo.id as id, title, uploader, uploaded, x, y -FROM photo, tag, tagging +FROM photo, tagging WHERE tagging.photo = photo.id - AND tagging.tag = tag.id - AND tag.id = ? + AND tagging.tag = ? ORDER BY photo.uploaded DESC / ); @@ -28,7 +27,7 @@ sub view :Exported { $sth->finish; $r->{template_args}{tags} = \@tags; } else { - if (!$r->objects) { + if (!@{$r->objects||[]}) { $tag = $tags[0]; } else { $tag = $r->objects->[0]; @@ -75,22 +74,8 @@ sub list_js :Exported { package Memories::Tagging; use base qw(Memories::DBI); -use Class::DBI::Pager; -__PACKAGE__->columns(TEMP => qw/count/); -__PACKAGE__->columns(Essential => qw/id tag photo/); -__PACKAGE__->set_sql(summary => qq/ -SELECT id, tag, count(*) AS count -FROM tagging -GROUP BY tag -ORDER BY count DESC -LIMIT 75 - /); -__PACKAGE__->set_sql(all => qq/ -SELECT id, tag, count(*) AS count -FROM tagging -GROUP BY tag -ORDER BY count DESC - /); + + __PACKAGE__->set_sql(user_summary => qq/ SELECT tagging.id id, tag, count(*) AS count FROM tagging, photo @@ -99,12 +84,4 @@ GROUP BY tag ORDER BY count DESC /); -Memories::Tagging->has_a("photo" => "Memories::Photo"); -Memories::Tagging->has_a("tag" => "Memories::Tag"); - -Memories::Photo->has_many(tags => ["Memories::Tagging" => "tag"]); -Memories::Photo->has_many(taggings => "Memories::Tagging"); -Memories::Tag->has_many(photos => ["Memories::Tagging" => "photo"] ); -Memories::Tag->has_many(taggings => "Memories::Tagging"); - 1;