From dfb798a13cc5b66c50aef55596b3862d0c6d60ab Mon Sep 17 00:00:00 2001
From: "Steinar H. Gunderson"
Date: Thu, 26 Jul 2007 01:48:21 +0200
Subject: [PATCH] Implement author filtering.
---
files/pr0n.css | 3 +-
perl/Sesse/pr0n/Index.pm | 29 ++++++++++++++++---
templates/bilder.knatten.com/submittedby | 2 +-
templates/default/submittedby | 2 +-
.../images.tg05.gathering.org/submittedby | 2 +-
templates/itk-bilder.samfundet.no/submittedby | 2 +-
.../skoyen.bilder.knatten.com/submittedby | 2 +-
.../skoyen.bildereks.knatten.com/submittedby | 2 +-
8 files changed, 33 insertions(+), 11 deletions(-)
diff --git a/files/pr0n.css b/files/pr0n.css
index 438d8d3..acc7ed4 100644
--- a/files/pr0n.css
+++ b/files/pr0n.css
@@ -46,7 +46,8 @@ li {
margin-bottom: 0.5em;
}
.filter {
- font-size: smaller;
+ font-size: small;
+ font-weight: normal;
}
* {
/* border: 1px solid red; */
diff --git a/perl/Sesse/pr0n/Index.pm b/perl/Sesse/pr0n/Index.pm
index fab7971..809bda6 100644
--- a/perl/Sesse/pr0n/Index.pm
+++ b/perl/Sesse/pr0n/Index.pm
@@ -64,7 +64,8 @@ sub handler {
sel => 0,
fullscreen => 0,
model => undef,
- lens => undef
+ lens => undef,
+ author => undef
);
my $where;
@@ -89,7 +90,7 @@ sub handler {
my %settings = %defsettings;
- for my $s qw(thumbxres thumbyres xres yres start num all infobox rot sel fullscreen model lens) {
+ for my $s qw(thumbxres thumbyres xres yres start num all infobox rot sel fullscreen model lens author) {
my $val = $apr->param($s);
if (defined($val) && $val =~ /^(\d+)$/) {
$settings{$s} = $val;
@@ -97,7 +98,7 @@ sub handler {
if (($s eq "num" || $s eq "xres" || $s eq "yres") && defined($val) && $val == -1) {
$settings{$s} = $val;
}
- if ($s eq "model" || $s eq "lens") {
+ if ($s eq "model" || $s eq "lens" || $s eq "author") {
$settings{$s} = Sesse::pr0n::Common::pretty_unescape($val);
}
}
@@ -114,6 +115,7 @@ sub handler {
my $sel = $settings{'sel'};
my $model = $settings{'model'};
my $lens = $settings{'lens'};
+ my $author = $settings{'author'};
# Construct SQL for this filter
if ($all == 0) {
@@ -138,6 +140,11 @@ sub handler {
$where .= " AND id IN ( SELECT image FROM exif_info WHERE (key='Lens' OR key='LensSpec') AND TRIM(value)=$lq )";
}
}
+ if (defined($author)) {
+ my $aq = $dbh->quote($author);
+
+ $where .= " AND takenby=$aq";
+ }
if (defined($num) && $num == -1) {
$num = undef;
@@ -328,8 +335,22 @@ sub handler {
if ($takenby ne $lastupl) {
$r->print("
\n\n") if ($lastupl ne "" && $rot != 1);
$lastupl = $takenby;
+
+ my %newsettings = %settings;
+
+ my $action;
+ if (defined($author)) {
+ chomp ($action = Sesse::pr0n::Templates::fetch_template($r, "unfilter"));
+ $newsettings{'author'} = undef;
+ } else {
+ chomp ($action = Sesse::pr0n::Templates::fetch_template($r, "filter"));
+ $newsettings{'author'} = $ref->{'takenby'};
+ }
+
+ my $url = "/$event/" . Sesse::pr0n::Common::get_query_string(\%newsettings, \%defsettings);
+
$r->print(" ");
- Sesse::pr0n::Templates::print_template($r, "submittedby", { author => $lastupl });
+ Sesse::pr0n::Templates::print_template($r, "submittedby", { author => $lastupl, action => $action, filterurl => $url });
print_fullscreen_fromhere($r, $event, \%settings, \%defsettings, $img_num);
$r->print("
\n");
diff --git a/templates/bilder.knatten.com/submittedby b/templates/bilder.knatten.com/submittedby
index fd7ddd9..0322a28 100644
--- a/templates/bilder.knatten.com/submittedby
+++ b/templates/bilder.knatten.com/submittedby
@@ -1 +1 @@
-Tatt av: %AUTHOR%
+Tatt av: %AUTHOR% (%ACTION%)
diff --git a/templates/default/submittedby b/templates/default/submittedby
index b27c685..9f20f32 100644
--- a/templates/default/submittedby
+++ b/templates/default/submittedby
@@ -1 +1 @@
-Taken by: %AUTHOR%
+Taken by: %AUTHOR% (%ACTION%)
diff --git a/templates/images.tg05.gathering.org/submittedby b/templates/images.tg05.gathering.org/submittedby
index b27c685..9f20f32 100644
--- a/templates/images.tg05.gathering.org/submittedby
+++ b/templates/images.tg05.gathering.org/submittedby
@@ -1 +1 @@
-Taken by: %AUTHOR%
+Taken by: %AUTHOR% (%ACTION%)
diff --git a/templates/itk-bilder.samfundet.no/submittedby b/templates/itk-bilder.samfundet.no/submittedby
index fd7ddd9..0322a28 100644
--- a/templates/itk-bilder.samfundet.no/submittedby
+++ b/templates/itk-bilder.samfundet.no/submittedby
@@ -1 +1 @@
-Tatt av: %AUTHOR%
+Tatt av: %AUTHOR% (%ACTION%)
diff --git a/templates/skoyen.bilder.knatten.com/submittedby b/templates/skoyen.bilder.knatten.com/submittedby
index fd7ddd9..0322a28 100644
--- a/templates/skoyen.bilder.knatten.com/submittedby
+++ b/templates/skoyen.bilder.knatten.com/submittedby
@@ -1 +1 @@
-Tatt av: %AUTHOR%
+Tatt av: %AUTHOR% (%ACTION%)
diff --git a/templates/skoyen.bildereks.knatten.com/submittedby b/templates/skoyen.bildereks.knatten.com/submittedby
index fd7ddd9..0322a28 100644
--- a/templates/skoyen.bildereks.knatten.com/submittedby
+++ b/templates/skoyen.bildereks.knatten.com/submittedby
@@ -1 +1 @@
-Tatt av: %AUTHOR%
+Tatt av: %AUTHOR% (%ACTION%)
--
2.39.5