diff options
author | Yorhel <git@yorhel.nl> | 2010-12-23 12:05:57 +0100 |
---|---|---|
committer | Yorhel <git@yorhel.nl> | 2010-12-23 12:05:57 +0100 |
commit | 951568c87b1a1ad6fcb73928608f76b3470fd817 (patch) | |
tree | 9c01cc5a5fd66c894ab76ae7f005668d3f1c256e /lib/VNDB/Handler | |
parent | e0131b6ab501eaeda1003ac5131f803a36192d46 (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.pm | 24 | ||||
-rw-r--r-- | lib/VNDB/Handler/VNPage.pm | 10 |
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}; |