X-Git-Url: https://git.sesse.net/?p=pr0n;a=blobdiff_plain;f=perl%2FSesse%2Fpr0n%2FListing.pm;h=fd9f9041e2114275eac2432b577ae0d7dbd8d600;hp=9f75fefd2bb7da15deef07fe9d3edef3b5ac5cf4;hb=e6c0be9c884c678d048a9a9a569dc1a3f6f83f34;hpb=09260885c52013320acd21d7ce262e12def7301f diff --git a/perl/Sesse/pr0n/Listing.pm b/perl/Sesse/pr0n/Listing.pm index 9f75fef..fd9f904 100644 --- a/perl/Sesse/pr0n/Listing.pm +++ b/perl/Sesse/pr0n/Listing.pm @@ -39,68 +39,35 @@ sub handler { # return $rc; # } - if ($r->path_info =~ /^\/\+tags\/?/) { - # Tag cloud - my $q = $dbh->prepare('SELECT tag,COUNT(*) AS frequency FROM tags t JOIN images i ON t.image=i.id WHERE vhost=? GROUP BY tag ORDER BY COUNT(*) DESC LIMIT 75') - or return dberror($r, "Couldn't list events"); - $q->execute(Sesse::pr0n::Common::get_server_name($r)) - or return dberror($r, "Couldn't get events"); - - Sesse::pr0n::Common::header($r, $io, Sesse::pr0n::Templates::fetch_template($r, 'tag-listing')); - Sesse::pr0n::Templates::print_template($r, $io, 'mainmenu-tags'); - - my $cloud = HTML::TagCloud->new; - - while (my $ref = $q->fetchrow_hashref()) { - my $tag = $ref->{'tag'}; - my $html = HTML::Entities::encode_entities($tag); # is this right? - my $uri = Sesse::pr0n::Common::pretty_escape($tag); # and this? - - $cloud->add($html, "/+tags/$uri/", $ref->{'frequency'}); - } - - $io->print($cloud->html_and_css()); - Sesse::pr0n::Common::footer($r, $io); - - $q->finish(); - } else { - # main listing + # main listing # my $q = $dbh->prepare('SELECT t1.id,t1.date,t1.name FROM events t1 LEFT JOIN images t2 ON t1.id=t2.event WHERE t1.vhost=? GROUP BY t1.id,t1.date,t1.name ORDER BY COALESCE(MAX(t2.date),\'1970-01-01 00:00:00\'),t1.id') or # dberror($r, "Couldn't list events"); - my $q = $dbh->prepare('SELECT event,date,name FROM events e JOIN last_picture_cache c USING (vhost,event) WHERE vhost=? ORDER BY last_picture DESC NULLS LAST') - or return dberror($r, "Couldn't list events"); - $q->execute(Sesse::pr0n::Common::get_server_name($r)) - or return dberror($r, "Couldn't get events"); - - Sesse::pr0n::Common::header($r, $io, Sesse::pr0n::Templates::fetch_template($r, 'event-listing')); + my $q = $dbh->prepare('SELECT event,date,name FROM events e JOIN last_picture_cache c USING (vhost,event) WHERE vhost=? ORDER BY last_picture DESC NULLS LAST') + or return dberror($r, "Couldn't list events"); + $q->execute(Sesse::pr0n::Common::get_server_name($r)) + or return dberror($r, "Couldn't get events"); + + Sesse::pr0n::Common::header($r, $io, Sesse::pr0n::Templates::fetch_template($r, 'event-listing')); - # See if there are any tags related to this vhost - my $ref = $dbh->selectrow_hashref('SELECT * FROM tags t JOIN images i ON t.image=i.id WHERE vhost=? LIMIT 1', - undef, Sesse::pr0n::Common::get_server_name($r)); - if (defined($ref)) { - Sesse::pr0n::Templates::print_template($r, $io, 'mainmenu-events'); - } + my $allcaption = Sesse::pr0n::Templates::fetch_template($r, 'all-event-title'); + $io->print(" \n"); + + $io->print(" \n"); + Sesse::pr0n::Common::footer($r, $io); - $q->finish(); - } + $q->finish(); $io->setpos(0); $res->body($io);