summaryrefslogtreecommitdiff
path: root/lib/VNDB/Handler
diff options
context:
space:
mode:
authorYorhel <git@yorhel.nl>2010-12-23 12:05:57 +0100
committerYorhel <git@yorhel.nl>2010-12-23 12:05:57 +0100
commit951568c87b1a1ad6fcb73928608f76b3470fd817 (patch)
tree9c01cc5a5fd66c894ab76ae7f005668d3f1c256e /lib/VNDB/Handler
parente0131b6ab501eaeda1003ac5131f803a36192d46 (diff)
Converted the show_nsfw preference to use the users_prefs table
Diffstat (limited to 'lib/VNDB/Handler')
-rw-r--r--lib/VNDB/Handler/Users.pm24
-rw-r--r--lib/VNDB/Handler/VNPage.pm10
2 files changed, 16 insertions, 18 deletions
diff --git a/lib/VNDB/Handler/Users.pm b/lib/VNDB/Handler/Users.pm
index 31de6bd7..d3879109 100644
--- a/lib/VNDB/Handler/Users.pm
+++ b/lib/VNDB/Handler/Users.pm
@@ -300,29 +300,28 @@ sub edit {
return if !$self->authCheckCode;
$frm = $self->formValidate(
$self->authCan('usermod') ? (
- { name => 'usrname', template => 'pname', minlength => 2, maxlength => 15 },
- { name => 'rank', enum => [ 1..$#{$self->{user_ranks}} ] },
+ { name => 'usrname', template => 'pname', minlength => 2, maxlength => 15 },
+ { name => 'rank', enum => [ 1..$#{$self->{user_ranks}} ] },
{ name => 'ign_votes', required => 0, default => 0 },
) : (),
- { name => 'mail', template => 'mail' },
- { name => 'usrpass', required => 0, minlength => 4, maxlength => 64, template => 'asciiprint' },
- { name => 'usrpass2', required => 0, minlength => 4, maxlength => 64, template => 'asciiprint' },
+ { name => 'mail', template => 'mail' },
+ { name => 'usrpass', required => 0, minlength => 4, maxlength => 64, template => 'asciiprint' },
+ { name => 'usrpass2', required => 0, minlength => 4, maxlength => 64, template => 'asciiprint' },
{ name => 'flags_list', required => 0, default => 0 },
- { name => 'flags_nsfw', required => 0, default => 0 },
- { name => 'skin', enum => [ '', keys %{$self->{skins}} ], required => 0, default => '' },
- { name => 'customcss', required => 0, maxlength => 2000, default => '' },
+ { name => 'show_nsfw', required => 0, default => 0, enum => [0,1] },
+ { name => 'skin', required => 0, default => '', enum => [ '', keys %{$self->{skins}} ] },
+ { name => 'customcss', required => 0, maxlength => 2000, default => '' },
);
push @{$frm->{_err}}, 'passmatch'
if ($frm->{usrpass} || $frm->{usrpass2}) && (!$frm->{usrpass} || !$frm->{usrpass2} || $frm->{usrpass} ne $frm->{usrpass2});
if(!$frm->{_err}) {
- $self->dbUserPrefSet($uid, $_ => $frm->{$_}) for (qw|skin customcss|);
+ $self->dbUserPrefSet($uid, $_ => $frm->{$_}) for (qw|skin customcss show_nsfw |);
my %o;
$o{username} = $frm->{usrname} if $frm->{usrname};
$o{rank} = $frm->{rank} if $frm->{rank};
$o{mail} = $frm->{mail};
($o{passwd}, $o{salt}) = $self->authPreparePass($frm->{usrpass}) if $frm->{usrpass};
$o{show_list} = $frm->{flags_list} ? 1 : 0;
- $o{show_nsfw} = $frm->{flags_nsfw} ? 1 : 0;
$o{ign_votes} = $frm->{ign_votes} ? 1 : 0 if $self->authCan('usermod');
$self->dbUserEdit($uid, %o);
$self->dbSessionDel($uid) if $frm->{usrpass};
@@ -334,9 +333,8 @@ sub edit {
# fill out default values
$frm->{usrname} ||= $u->{username};
$frm->{$_} ||= $u->{$_} for(qw|rank mail|);
- $frm->{$_} ||= $u->{prefs}{$_} for(qw|skin customcss|);
+ $frm->{$_} //= $u->{prefs}{$_} for(qw|skin customcss show_nsfw|);
$frm->{flags_list} = $u->{show_list} if !defined $frm->{flags_list};
- $frm->{flags_nsfw} = $u->{show_nsfw} if !defined $frm->{flags_nsfw};
$frm->{ign_votes} = $u->{ign_votes} if !defined $frm->{ign_votes};
# create the page
@@ -369,7 +367,7 @@ sub edit {
[ part => title => mt '_usere_options' ],
[ check => short => 'flags_list', name => mt '_usere_flist', "/u$uid/list", "/u$uid/wish" ],
- [ check => short => 'flags_nsfw', name => mt '_usere_fnsfw' ],
+ [ check => short => 'show_nsfw', name => mt '_usere_fnsfw' ],
[ select => short => 'skin', name => mt('_usere_skin'), width => 300, options => [
map [ $_ eq $self->{skin_default} ? '' : $_, $self->{skins}{$_}[0].($self->debug?" [$_]":'') ], sort { $self->{skins}{$a}[0] cmp $self->{skins}{$b}[0] } keys %{$self->{skins}} ] ],
[ textarea => short => 'customcss', name => mt '_usere_css' ],
diff --git a/lib/VNDB/Handler/VNPage.pm b/lib/VNDB/Handler/VNPage.pm
index ab10f5e9..a4f385db 100644
--- a/lib/VNDB/Handler/VNPage.pm
+++ b/lib/VNDB/Handler/VNPage.pm
@@ -74,12 +74,12 @@ sub page {
} elsif($v->{image} < 0) {
p mt '_vnpage_imgproc';
} else {
- p $v->{img_nsfw} ? (id => 'nsfw_hid', style => $self->authInfo->{show_nsfw} ? 'display: block' : '') : ();
+ p $v->{img_nsfw} ? (id => 'nsfw_hid', style => $self->authPref('show_nsfw') ? 'display: block' : '') : ();
img src => sprintf("%s/cv/%02d/%d.jpg", $self->{url_static}, $v->{image}%100, $v->{image}), alt => $v->{title};
i mt '_vnpage_imgnsfw_foot' if $v->{img_nsfw};
end;
if($v->{img_nsfw}) {
- p id => 'nsfw_show', $self->authInfo->{show_nsfw} ? (style => 'display: none') : ();
+ p id => 'nsfw_show', $self->authPref('show_nsfw') ? (style => 'display: none') : ();
txt mt('_vnpage_imgnsfw_msg')."\n\n";
a href => '#', mt '_vnpage_imgnsfw_show';
txt "\n\n".mt '_vnpage_imgnsfw_note';
@@ -225,7 +225,7 @@ sub _revision {
[ image => htmlize => sub {
my $url = sprintf "%s/cv/%02d/%d.jpg", $self->{url_static}, $_[0]%100, $_[0];
if($_[0] > 0) {
- return $_[1]->{img_nsfw} && !$self->authInfo->{show_nsfw} ? "<a href=\"$url\">".mt('_vndiff_image_nsfw').'</a>' : "<img src=\"$url\" />";
+ return $_[1]->{img_nsfw} && !$self->authPref('show_nsfw') ? "<a href=\"$url\">".mt('_vndiff_image_nsfw').'</a>' : "<img src=\"$url\" />";
} else {
return mt $_[0] < 0 ? '_vndiff_image_proc' : '_vndiff_image_none';
}
@@ -461,7 +461,7 @@ sub _screenshots {
if(grep $_->{nsfw}, @{$v->{screenshots}}) {
p class => 'nsfwtoggle';
lit mt '_vnpage_scr_showing',
- sprintf('<i id="nsfwshown">%d</i>', $self->authInfo->{show_nsfw} ? scalar @{$v->{screenshots}} : scalar grep(!$_->{nsfw}, @{$v->{screenshots}})),
+ sprintf('<i id="nsfwshown">%d</i>', $self->authPref('show_nsfw') ? scalar @{$v->{screenshots}} : scalar grep(!$_->{nsfw}, @{$v->{screenshots}})),
scalar @{$v->{screenshots}};
txt " ";
a href => '#', id => "nsfwhide", mt '_vnpage_scr_nsfwhide';
@@ -481,7 +481,7 @@ sub _screenshots {
for (@scr) {
my($w, $h) = imgsize($_->{width}, $_->{height}, @{$self->{scr_size}});
a href => sprintf('%s/sf/%02d/%d.jpg', $self->{url_static}, $_->{id}%100, $_->{id}),
- class => sprintf('scrlnk%s%s', $_->{nsfw} ? ' nsfw':'', $_->{nsfw}&&!$self->authInfo->{show_nsfw}?' hidden':''),
+ class => sprintf('scrlnk%s%s', $_->{nsfw} ? ' nsfw':'', $_->{nsfw}&&!$self->authPref('show_nsfw')?' hidden':''),
rel => "iv:$_->{width}x$_->{height}:scr";
img src => sprintf('%s/st/%02d/%d.jpg', $self->{url_static}, $_->{id}%100, $_->{id}),
width => $w, height => $h, alt => mt '_vnpage_scr_num', $_->{id};