diff options
author | Yorhel <git@yorhel.nl> | 2018-02-08 16:06:17 +0100 |
---|---|---|
committer | Yorhel <git@yorhel.nl> | 2018-02-08 16:12:07 +0100 |
commit | 93b79ef9ebafcfccd0d239ffd06e2b547e209e3d (patch) | |
tree | 98d96f024d00bf318b16243518e53c2977136202 /lib/VNDB/Util | |
parent | 3f3a4d9810bb2483a89442b85d438639f26ecb7e (diff) |
Store d+ pages in the DB as versioned entries + use markdown
This touches a bunch of things:
- Adds a new first-class database entry type
- Removes the d+.+.+ BBCode link syntax, adds a new d+#+ and d+#+.+
link syntax (references have been updated where possible)
- Adds a new dependency on Text::MultiMarkdown
Diffstat (limited to 'lib/VNDB/Util')
-rw-r--r-- | lib/VNDB/Util/CommonHTML.pm | 10 | ||||
-rw-r--r-- | lib/VNDB/Util/FormHTML.pm | 4 |
2 files changed, 9 insertions, 5 deletions
diff --git a/lib/VNDB/Util/CommonHTML.pm b/lib/VNDB/Util/CommonHTML.pm index e8561e3c..dd129c18 100644 --- a/lib/VNDB/Util/CommonHTML.pm +++ b/lib/VNDB/Util/CommonHTML.pm @@ -18,7 +18,7 @@ our @EXPORT = qw| # generates the "main tabs". These are the commonly used tabs for # 'objects', i.e. VN/producer/release entries and users -# Arguments: u/v/r/p/g/i/c, object, currently selected item (empty=main) +# Arguments: u/v/r/p/g/i/c/d, object, currently selected item (empty=main) sub htmlMainTabs { my($self, $type, $obj, $sel) = @_; $sel ||= ''; @@ -27,7 +27,7 @@ sub htmlMainTabs { return if $type eq 'g' && !$self->authCan('tagmod'); ul class => 'maintabs'; - if($type =~ /[uvrpcs]/) { + if($type =~ /[uvrpcsd]/) { li $sel eq 'hist' ? (class => 'tabselected') : (); a href => "/$id/hist", 'history'; end; @@ -75,6 +75,7 @@ sub htmlMainTabs { if( $type eq 'u' && ($self->authInfo->{id} && $obj->{id} == $self->authInfo->{id} || $self->authCan('usermod')) || $type =~ /[vrpcs]/ && $self->authCan('edit') && ((!$obj->{locked} && !$obj->{hidden}) || $self->authCan('dbmod')) || $type =~ /[gi]/ && $self->authCan('tagmod') + || $type eq 'd' && $self->authCan('dbmod') ) { li $sel eq 'edit' ? (class => 'tabselected') : (); a href => "/$id/edit", 'edit'; @@ -132,12 +133,13 @@ sub htmlDenied { sub htmlHiddenMessage { my($self, $type, $obj) = @_; return 0 if !$obj->{hidden}; - my $board = $type =~ /[cs]/ ? 'db' : $type eq 'r' ? 'v'.$obj->{vn}[0]{vid} : $type.$obj->{id}; + my $board = $type =~ /[csd]/ ? 'db' : $type eq 'r' ? 'v'.$obj->{vn}[0]{vid} : $type.$obj->{id}; # fetch edit summary (not present in $obj, requires the db*GetRev() methods) my $editsum = $type eq 'v' ? $self->dbVNGetRev(id => $obj->{id})->[0]{comments} : $type eq 'r' ? $self->dbReleaseGetRev(id => $obj->{id})->[0]{comments} : $type eq 'c' ? $self->dbCharGetRev(id => $obj->{id})->[0]{comments} : $type eq 's' ? $self->dbStaffGetRev(id => $obj->{id})->[0]{comments} + : $type eq 'd' ? $self->dbDocGetRev(id => $obj->{id})->[0]{comments} : $self->dbProducerGetRev(id => $obj->{id})->[0]{comments}; div class => 'mainbox'; h1 $obj->{title}||$obj->{name}; @@ -156,7 +158,7 @@ sub htmlHiddenMessage { # Shows a revision, including diff if there is a previous revision. -# Arguments: v|p|r|c, old revision, new revision, @fields +# Arguments: v|p|r|c|d, old revision, new revision, @fields # Where @fields is a list of fields as arrayrefs with: # [ shortname, displayname, %options ], # Where %options: diff --git a/lib/VNDB/Util/FormHTML.pm b/lib/VNDB/Util/FormHTML.pm index a522599e..11de460b 100644 --- a/lib/VNDB/Util/FormHTML.pm +++ b/lib/VNDB/Util/FormHTML.pm @@ -54,7 +54,7 @@ sub htmlFormError { li "$field: Malformed data or invalid input" if $rule eq 'json'; li 'Invalid release date' if $rule eq 'rdate'; if($rule eq 'editsum') { - li; lit 'Please read <a href="/d5.4">the guidelines</a> on how to use the edit summary.'; end; + li; lit 'Please read <a href="/d5#4">the guidelines</a> on how to use the edit summary.'; end; } } } @@ -187,6 +187,7 @@ sub htmlFormPart { # nosubmit => 1/0, hides the submit button # editsum => 1/0, adds an edit summary field before the submit button # continue => 2/1/0, replace submit button with continue buttons +# preview => 1/0, add preview button # noformcode=> 1/0, remove the formcode field # The other arguments are a list of subforms in the form # of (subform-name => [form parts]). Each subform is shown as a @@ -265,6 +266,7 @@ sub htmlForm { input type => 'submit', name => 'continue_ign', value => 'Continue and ignore duplicates', class => 'submit', style => 'width: auto', tabindex => 10 if $options->{continue} == 2; } + input type => 'submit', value => 'Preview', id => 'preview', name => 'preview', class => 'submit', tabindex => 10 if $options->{preview}; end; end 'div'; } |