summaryrefslogtreecommitdiff
path: root/lib/VNDB
diff options
context:
space:
mode:
authorYorhel <git@yorhel.nl>2019-11-15 17:04:41 +0100
committerYorhel <git@yorhel.nl>2019-11-15 17:06:23 +0100
commit34a2d37a7bac141aab6b0c815a17ed75d4ef858e (patch)
tree87ec011c9281811019c441e92b66c7b009e70681 /lib/VNDB
parent4580ee0776e4e8a32ec99dc0506625a6e061c854 (diff)
Move pubskin fetching responsibility to VNWeb::HTML::framework_
Requiring callers to fetch the right fields and pass it along to framework_() just seems brittle. This implementation requires an extra query but does make an effort to avoid fetching the skin and css when it's not needed.
Diffstat (limited to 'lib/VNDB')
-rw-r--r--lib/VNDB/DB/Users.pm2
-rw-r--r--lib/VNDB/Handler/Discussions.pm4
-rw-r--r--lib/VNDB/Handler/ULists.pm12
3 files changed, 8 insertions, 10 deletions
diff --git a/lib/VNDB/DB/Users.pm b/lib/VNDB/DB/Users.pm
index 6981d291..2f7d8e5c 100644
--- a/lib/VNDB/DB/Users.pm
+++ b/lib/VNDB/DB/Users.pm
@@ -11,7 +11,6 @@ our @EXPORT = qw|
# %options->{ uid results page what }
-# what: pubskin
# sort: username registered votes changes tags
sub dbUserGet {
my $s = shift;
@@ -33,7 +32,6 @@ sub dbUserGet {
qw|id username c_votes c_changes c_tags hide_list|,
VNWeb::DB::sql_user(), # XXX: This duplicates id and username, but updating all the code isn't going to be easy
q|extract('epoch' from registered) as registered|,
- $o{what} =~ /pubskin/ ? qw|pubskin_can pubskin_enabled customcss skin| : (),
);
my($r, $np) = $s->dbPage(\%o, q|
diff --git a/lib/VNDB/Handler/Discussions.pm b/lib/VNDB/Handler/Discussions.pm
index add0e51c..ac4bd190 100644
--- a/lib/VNDB/Handler/Discussions.pm
+++ b/lib/VNDB/Handler/Discussions.pm
@@ -389,7 +389,7 @@ sub board {
return $self->resNotFound if $f->{_err};
my $obj = !$iid ? undef :
- $type eq 'u' ? $self->dbUserGet(uid => $iid, what => 'hide_list pubskin')->[0] :
+ $type eq 'u' ? $self->dbUserGet(uid => $iid, what => 'hide_list')->[0] :
$type eq 'p' ? $self->dbProducerGet(id => $iid)->[0] :
$self->dbVNGet(id => $iid)->[0];
return $self->resNotFound if $iid && !$obj;
@@ -406,7 +406,7 @@ sub board {
asuser => $self->authInfo()->{id},
);
- $self->htmlHeader(title => $title, noindex => 1, feeds => [ $type eq 'an' ? 'announcements' : 'posts' ], $type eq 'u' && $obj ? (pubskin => $obj) : ());
+ $self->htmlHeader(title => $title, noindex => 1, feeds => [ $type eq 'an' ? 'announcements' : 'posts' ], type => $type, dbobj => $obj);
$self->htmlMainTabs($type, $obj, 'disc') if $iid;
form action => '/t/search', method => 'get';
diff --git a/lib/VNDB/Handler/ULists.pm b/lib/VNDB/Handler/ULists.pm
index 2c4cb1db..e42a41c0 100644
--- a/lib/VNDB/Handler/ULists.pm
+++ b/lib/VNDB/Handler/ULists.pm
@@ -117,7 +117,7 @@ sub rlist_e {
sub votelist {
my($self, $type, $id) = @_;
- my $obj = $type eq 'v' ? $self->dbVNGet(id => $id)->[0] : $self->dbUserGet(uid => $id, what => 'hide_list pubskin')->[0];
+ my $obj = $type eq 'v' ? $self->dbVNGet(id => $id)->[0] : $self->dbUserGet(uid => $id, what => 'hide_list')->[0];
return $self->resNotFound if !$obj->{id};
my $own = $type eq 'u' && $self->authInfo->{id} && $self->authInfo->{id} == $id;
@@ -156,7 +156,7 @@ sub votelist {
);
my $title = $type eq 'v' ? "Votes for $obj->{title}" : 'Votes by '.VNWeb::HTML::user_displayname($obj);
- $self->htmlHeader(noindex => 1, $type eq 'u' ? (pubskin => $obj) : (), title => $title);
+ $self->htmlHeader(noindex => 1, type => $type, dbobj => $obj, title => $title);
$self->htmlMainTabs($type => $obj, 'votes');
div class => 'mainbox';
h1 $title;
@@ -232,7 +232,7 @@ sub wishlist {
my($self, $uid) = @_;
my $own = $self->authInfo->{id} && $self->authInfo->{id} == $uid;
- my $u = $self->dbUserGet(uid => $uid, what => 'hide_list pubskin')->[0];
+ my $u = $self->dbUserGet(uid => $uid, what => 'hide_list')->[0];
return $self->resNotFound if !$u || !$own && !(!$u->{hide_list} || $self->authCan('usermod'));
my $f = $self->formValidate(
@@ -266,7 +266,7 @@ sub wishlist {
);
my $title = $own ? 'My wishlist' : VNWeb::HTML::user_displayname($u)."'s wishlist";
- $self->htmlHeader(title => $title, noindex => 1, pubskin => $u);
+ $self->htmlHeader(title => $title, noindex => 1, type => 'u', dbobj => $u);
$self->htmlMainTabs('u', $u, 'wish');
div class => 'mainbox';
h1 $title;
@@ -337,7 +337,7 @@ sub vnlist {
my($self, $uid) = @_;
my $own = $self->authInfo->{id} && $self->authInfo->{id} == $uid;
- my $u = $self->dbUserGet(uid => $uid, what => 'hide_list pubskin')->[0];
+ my $u = $self->dbUserGet(uid => $uid, what => 'hide_list')->[0];
return $self->resNotFound if !$u || !$own && !(!$u->{hide_list} || $self->authCan('usermod'));
my $f = $self->formValidate(
@@ -383,7 +383,7 @@ sub vnlist {
);
my $title = $own ? 'My visual novel list' : VNWeb::HTML::user_displayname($u)."'s visual novel list";
- $self->htmlHeader(title => $title, noindex => 1, pubskin => $u);
+ $self->htmlHeader(title => $title, noindex => 1, type => 'u', dbobj => $u);
$self->htmlMainTabs('u', $u, 'list');
# url generator