diff options
Diffstat (limited to 'lib/VNDB')
-rw-r--r-- | lib/VNDB/DB/Docs.pm | 12 | ||||
-rw-r--r-- | lib/VNDB/DB/Misc.pm | 1 | ||||
-rw-r--r-- | lib/VNDB/Handler/Docs.pm | 78 | ||||
-rw-r--r-- | lib/VNDB/Util/CommonHTML.pm | 18 |
4 files changed, 2 insertions, 107 deletions
diff --git a/lib/VNDB/DB/Docs.pm b/lib/VNDB/DB/Docs.pm index 27cabf6e..d7c220ff 100644 --- a/lib/VNDB/DB/Docs.pm +++ b/lib/VNDB/DB/Docs.pm @@ -5,7 +5,7 @@ use strict; use warnings; use Exporter 'import'; -our @EXPORT = qw|dbDocGet dbDocGetRev dbDocRevisionInsert|; +our @EXPORT = qw|dbDocGet dbDocGetRev|; # Can only fetch a single document. @@ -40,14 +40,4 @@ sub dbDocGetRev { return wantarray ? ($r, 0) : $r; } - -# Updates the edit_* tables, used from dbItemEdit() -# Arguments: { title content }, -sub dbDocRevisionInsert { - my($self, $o) = @_; - my %set = map exists($o->{$_}) ? (qq|"$_" = ?|, $o->{$_}) : (), qw|title content|; - $self->dbExec('UPDATE edit_docs !H', \%set) if keys %set; -} - - 1; diff --git a/lib/VNDB/DB/Misc.pm b/lib/VNDB/DB/Misc.pm index 60c13370..e1a1103c 100644 --- a/lib/VNDB/DB/Misc.pm +++ b/lib/VNDB/DB/Misc.pm @@ -41,7 +41,6 @@ sub dbItemEdit { $self->dbReleaseRevisionInsert( \%o) if $type eq 'r'; $self->dbCharRevisionInsert( \%o) if $type eq 'c'; $self->dbStaffRevisionInsert( \%o) if $type eq 's'; - $self->dbDocRevisionInsert( \%o) if $type eq 'd'; return $self->dbRow('SELECT * FROM edit_!s_commit()', $type); } diff --git a/lib/VNDB/Handler/Docs.pm b/lib/VNDB/Handler/Docs.pm deleted file mode 100644 index 4fabf1d3..00000000 --- a/lib/VNDB/Handler/Docs.pm +++ /dev/null @@ -1,78 +0,0 @@ - -package VNDB::Handler::Docs; - - -use strict; -use warnings; -use TUWF ':html'; -use VNDB::Func; -use Text::MultiMarkdown 'markdown'; -use VNWeb::Docs::Lib; - - -TUWF::register( - qr{d([1-9]\d*)(?:\.([1-9]\d*))?/edit} => \&edit, -); - - -sub edit { - my($self, $id, $rev) = @_; - - my $d = $self->dbDocGetRev(id => $id, rev => $rev)->[0]; - return $self->resNotFound if !$d->{id}; - $rev = undef if $d->{lastrev}; - - return $self->htmlDenied if !$self->authCan('dbmod'); - - my %b4 = map { $_ => $d->{$_} } qw|title content ihid ilock|; - my $frm; - - if($self->reqMethod eq 'POST') { - return if !$self->authCheckCode; - $frm = $self->formValidate( - { post => 'title', maxlength => 200 }, - { post => 'content', }, - { post => 'editsum', template => 'editsum' }, - { post => 'ihid', required => 0 }, - { post => 'ilock', required => 0 }, - { post => 'preview', required => 0 }, - ); - if(!$frm->{_err} && !$frm->{preview}) { - $frm->{ihid} = $frm->{ihid}?1:0; - $frm->{ilock} = $frm->{ilock}?1:0; - - return $self->resRedirect("/d$id", 'post') if !form_compare(\%b4, $frm); - my $nrev = $self->dbItemEdit(d => $id, $d->{rev}, %$frm); - return $self->resRedirect("/d$nrev->{itemid}.$nrev->{rev}", 'post'); - } - } - - !defined $frm->{$_} && ($frm->{$_} = $b4{$_}) for keys %b4; - $frm->{editsum} = sprintf 'Reverted to revision d%d.%d', $id, $rev if $rev && !defined $frm->{editsum}; - delete $frm->{_err} if $frm->{preview}; - - my $title = "Edit $d->{title}"; - $self->htmlHeader(title => $title, noindex => 1); - $self->htmlMainTabs('d', $d, 'edit'); - - if($frm->{preview}) { - div class => 'mainbox'; - h1 'Preview'; - div class => 'docs'; - lit md2html $frm->{content}; - end; - end; - } - - $self->htmlForm({ frm => $frm, action => "/d$id/edit", editsum => 1, preview => 1 }, dedit => [ $title, - [ input => name => 'Title', short => 'title', width => 300 ], - [ static => nolabel => 1, content => q{ - <br>Contents (HTML and MultiMarkdown supported, which is - <a href="https://daringfireball.net/projects/markdown/basics">Markdown</a> - with some <a href="http://fletcher.github.io/MultiMarkdown-5/syntax.html">extensions</a>).} ], - [ textarea => short => 'content', name => 'Content', rows => 50, cols => 90, nolabel => 1 ], - ]); - $self->htmlFooter; -} - -1; diff --git a/lib/VNDB/Util/CommonHTML.pm b/lib/VNDB/Util/CommonHTML.pm index 3adfe740..4b80eb21 100644 --- a/lib/VNDB/Util/CommonHTML.pm +++ b/lib/VNDB/Util/CommonHTML.pm @@ -108,23 +108,7 @@ sub htmlMainTabs { # generates a full error page, including header and footer -sub htmlDenied { - my $self = shift; - $self->htmlHeader(title => 'Access Denied'); - div class => 'mainbox'; - h1 'Access Denied'; - div class => 'warning'; - if(!$self->authInfo->{id}) { - h2 'You need to be logged in to perform this action.'; - p; lit 'Please <a href="/u/login">login</a>, or <a href="/u/register">create an account</a> if you don\'t have one yet.'; end; - } else { - h2 'You are not allowed to perform this action.'; - p 'It seems you don\'t have the proper rights to perform the action you wanted to perform...'; - } - end; - end 'div'; - $self->htmlFooter; -} +sub htmlDenied { shift->resDenied } # Generates message saying that the current item has been deleted, |