From: Steinar H. Gunderson Date: Wed, 25 Jul 2007 14:41:50 +0000 (+0200) Subject: Add a tag cloud. X-Git-Url: https://git.sesse.net/?p=pr0n;a=commitdiff_plain;h=f9ff3e7edda055056a4de903d4b959f8fa1c2542;hp=e9e1e766fa27b190f194941c497f022ad7bf1b1f Add a tag cloud. --- diff --git a/perl/Sesse/pr0n/Common.pm b/perl/Sesse/pr0n/Common.pm index b9a651c..6c3d7e4 100644 --- a/perl/Sesse/pr0n/Common.pm +++ b/perl/Sesse/pr0n/Common.pm @@ -131,11 +131,7 @@ sub get_query_string { next unless defined($value); next if (defined($defparam->{$key}) && $value == $defparam->{$key}); - $value = URI::Escape::uri_escape($value); - - # Unescape a few for prettiness (we'll need something for a real _, though) - $value =~ s/%20/_/g; - $value =~ s/%2F/\//g; + $value = pretty_escape($value); $str .= ($first) ? "?" : ';'; $str .= "$key=$value"; @@ -143,6 +139,18 @@ sub get_query_string { } return $str; } + +sub pretty_escape { + my $value = shift; + + $value = URI::Escape::uri_escape($value); + + # Unescape a few for prettiness (we'll need something for a real _, though) + $value =~ s/%20/_/g; + $value =~ s/%2F/\//g; + + return $value; +} sub print_link { my ($r, $title, $baseurl, $param, $defparam, $accesskey) = @_; diff --git a/perl/Sesse/pr0n/Listing.pm b/perl/Sesse/pr0n/Listing.pm index 6f47355..f97a643 100644 --- a/perl/Sesse/pr0n/Listing.pm +++ b/perl/Sesse/pr0n/Listing.pm @@ -3,6 +3,7 @@ use strict; use warnings; use Sesse::pr0n::Common qw(error dberror); +use HTML::TagCloud; sub handler { my $r = shift; @@ -27,34 +28,61 @@ sub handler { if ((my $rc = $r->meets_conditions) != Apache2::Const::OK) { return $rc; } - -# 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') - or dberror($r, "Couldn't list events"); - $q->execute($r->get_server_name) - or dberror($r, "Couldn't get events"); - - Sesse::pr0n::Common::header($r, Sesse::pr0n::Templates::fetch_template($r, 'event-listing')); - my $allcaption = Sesse::pr0n::Templates::fetch_template($r, 'all-event-title'); - $r->print(" \n"); - $r->print(" \n"); + Sesse::pr0n::Common::footer($r); + + $q->finish(); + } - $q->finish(); return Apache2::Const::OK; } diff --git a/perl/Sesse/pr0n/pr0n.pm b/perl/Sesse/pr0n/pr0n.pm index a0c682b..c2d9dbc 100644 --- a/perl/Sesse/pr0n/pr0n.pm +++ b/perl/Sesse/pr0n/pr0n.pm @@ -17,7 +17,7 @@ sub handler { my $r = shift; my $uri = $r->uri; - if ($uri eq '/') { + if ($uri eq '/' || $uri eq '/+tags' || $uri eq '/+tags/') { return Sesse::pr0n::Listing::handler($r); } elsif ($uri eq '/robots.txt' || $uri eq '/pr0n.css' || diff --git a/templates/bilder.knatten.com/tag-listing b/templates/bilder.knatten.com/tag-listing new file mode 100644 index 0000000..d8fd95d --- /dev/null +++ b/templates/bilder.knatten.com/tag-listing @@ -0,0 +1 @@ +Tagsky diff --git a/templates/default/tag-listing b/templates/default/tag-listing new file mode 100644 index 0000000..c89240a --- /dev/null +++ b/templates/default/tag-listing @@ -0,0 +1 @@ +Tag cloud diff --git a/templates/images.tg05.gathering.org/tag-listing b/templates/images.tg05.gathering.org/tag-listing new file mode 100644 index 0000000..c89240a --- /dev/null +++ b/templates/images.tg05.gathering.org/tag-listing @@ -0,0 +1 @@ +Tag cloud diff --git a/templates/itk-bilder.samfundet.no/tag-listing b/templates/itk-bilder.samfundet.no/tag-listing new file mode 100644 index 0000000..d8fd95d --- /dev/null +++ b/templates/itk-bilder.samfundet.no/tag-listing @@ -0,0 +1 @@ +Tagsky diff --git a/templates/skoyen.bilder.knatten.com/tag-listing b/templates/skoyen.bilder.knatten.com/tag-listing new file mode 100644 index 0000000..d8fd95d --- /dev/null +++ b/templates/skoyen.bilder.knatten.com/tag-listing @@ -0,0 +1 @@ +Tagsky diff --git a/templates/skoyen.bildereks.knatten.com/tag-listing b/templates/skoyen.bildereks.knatten.com/tag-listing new file mode 100644 index 0000000..d8fd95d --- /dev/null +++ b/templates/skoyen.bildereks.knatten.com/tag-listing @@ -0,0 +1 @@ +Tagsky