diff options
Diffstat (limited to 'lib/VNDB/Plugin')
-rw-r--r-- | lib/VNDB/Plugin/TransAdmin.pm | 39 |
1 files changed, 14 insertions, 25 deletions
diff --git a/lib/VNDB/Plugin/TransAdmin.pm b/lib/VNDB/Plugin/TransAdmin.pm index fa8e98ef..19ce336e 100644 --- a/lib/VNDB/Plugin/TransAdmin.pm +++ b/lib/VNDB/Plugin/TransAdmin.pm @@ -1,9 +1,9 @@ # This plugin provides a quick and dirty user interface to editing lang.txt, # to use it, add the following to your data/config.pl: # -# if($INC{"YAWF.pm"}) { -# require VNDB::Plugin::TransAdmin; -# $VNDB::S{transadmin} = { +# if($TUWF::OBJ) { +# TUWF::load('VNDB::Plugin::TransAdmin'); +# $TUWF::OBJ->{transadmin} = { # <userid> => 'all' || <language> || <arrayref with languages> # }; # } @@ -16,7 +16,7 @@ package VNDB::Plugin::TransAdmin; use strict; use warnings; -use YAWF ':html'; +use TUWF ':html', 'uri_escape'; use LangFile; use VNDB::Func; @@ -24,7 +24,7 @@ use VNDB::Func; my $langfile = "$VNDB::ROOT/data/lang.txt"; -YAWF::register( +TUWF::register( qr{tladmin(?:/([a-z]+))?} => \&tladmin ); @@ -41,9 +41,9 @@ sub tladmin { $lang ||= ''; my $intro = $lang =~ s/intro//; - return 404 if $lang && ($lang eq 'en' || !grep $_ eq $lang, $self->{l10n}->languages); - my $sect = $self->reqParam('sect')||''; - my $doc = $self->reqParam('doc')||''; + return $self->resNotFound if $lang && ($lang eq 'en' || !grep $_ eq $lang, $self->{l10n}->languages); + my $sect = $self->reqGet('sect')||''; + my $doc = $self->reqGet('doc')||''; my $uid = $self->authInfo->{id}; return $self->htmlDenied if !$uid || !$self->{transadmin}{$uid}; @@ -93,14 +93,14 @@ sub _savelang { push @read, $_ while (local $_ = $f->read); $f->close; - my @keys = $self->reqParam; + my @keys = $self->reqPost; $f = LangFile->new(write => $langfile); my $key; for my $l (@read) { $key = $l->[1] if $l->[0] eq 'key'; if($l->[0] eq 'tl' && $l->[1] eq $lang && grep $key eq $_, @keys) { - $l->[2] = !$self->reqParam("check$key"); - $l->[3] = $self->reqParam($key); + $l->[2] = !$self->reqPost("check$key"); + $l->[3] = $self->reqPost($key); $l->[3] =~ s/\r?\n/\n/g; $l->[3] =~ s/\s+$//g; } @@ -224,12 +224,7 @@ sub _section { end; div style => 'float: left'; if($multi) { - $tl =~ s/&/&/g; - $tl =~ s/</</g; - $tl =~ s/>/>/g; - textarea name => $key, id => $key, rows => $multi+2, style => 'width: 700px; height: auto; white-space: nowrap; border: none', wrap => 'off'; - lit $tl; - end; + textarea name => $key, id => $key, rows => $multi+2, style => 'width: 700px; height: auto; white-space: nowrap; border: none', wrap => 'off', $tl; } else { input type => 'text', class => 'text', name => $key, id => $key, value => $tl, style => 'width: 700px; border: none'; } @@ -256,7 +251,7 @@ sub _savedoc { my $en = join '', <$f>; close $f; - my $tl = $self->reqParam('tl'); + my $tl = $self->reqPost('tl'); $tl =~ s/\r?\n/\n/g; return -e $file && unlink $file if $tl eq $en; @@ -298,10 +293,6 @@ sub _doc { $tl = join '', <$f>; close $f; } - $tl =~ s/&/&/g; - $tl =~ s/</</g; - $tl =~ s/>/>/g; - form action => "/tladmin/$lang?doc=$doc", method => 'POST', 'accept-charset' => 'utf-8'; div class => 'mainbox'; @@ -320,9 +311,7 @@ sub _doc { pre style => 'font: 12px Tahoma; border: none; background: none; margin: 0', $en; end; textarea name => 'tl', id => 'tl', rows => ($en =~ y/\n//), - style => 'border: none; float: left; width: 49%; white-space: nowrap', wrap => 'off'; - lit $tl; - end; + style => 'border: none; float: left; width: 49%; white-space: nowrap', wrap => 'off', $tl; clearfloat; if(_allowed($self, $lang)) { br; |