diff options
author | morkt <> | 2014-12-22 11:49:08 +0100 |
---|---|---|
committer | Yorhel <git@yorhel.nl> | 2014-12-22 11:49:08 +0100 |
commit | 12338003bde24a3a263abe8caca71b1836ecee83 (patch) | |
tree | 81cdb33820f949f229e84ab17233420d8cb592b8 /lib/VNDB/DB | |
parent | df383d117908160d1a84ce4519edc0c9bcf08c3b (diff) |
bbcode: Replace [vcpgi][0-9]+ links with a [url] tag
Patch from https://vndb.org/t5564.13
Diffstat (limited to 'lib/VNDB/DB')
-rw-r--r-- | lib/VNDB/DB/Chars.pm | 12 | ||||
-rw-r--r-- | lib/VNDB/DB/Discussions.pm | 4 | ||||
-rw-r--r-- | lib/VNDB/DB/Producers.pm | 13 | ||||
-rw-r--r-- | lib/VNDB/DB/VN.pm | 13 |
4 files changed, 38 insertions, 4 deletions
diff --git a/lib/VNDB/DB/Chars.pm b/lib/VNDB/DB/Chars.pm index 86b3a859..f387b044 100644 --- a/lib/VNDB/DB/Chars.pm +++ b/lib/VNDB/DB/Chars.pm @@ -5,7 +5,7 @@ use strict; use warnings; use Exporter 'import'; -our @EXPORT = qw|dbCharGet dbCharRevisionInsert dbCharImageId|; +our @EXPORT = qw|dbCharGet dbCharRevisionInsert dbCharImageId dbCharNames|; # options: id rev instance tagspoil trait_inc trait_exc char what results page gender bloodt @@ -138,6 +138,16 @@ sub dbCharImageId { } +sub dbCharNames { + my ($self, @ids) = @_; + return $self->dbAll(q| + SELECT c.id, cr.name + FROM chars c + JOIN chars_rev cr ON cr.id = c.latest + WHERE c.id IN (!l)|, \@ids + ); +} + 1; diff --git a/lib/VNDB/DB/Discussions.pm b/lib/VNDB/DB/Discussions.pm index 9da25384..d1462249 100644 --- a/lib/VNDB/DB/Discussions.pm +++ b/lib/VNDB/DB/Discussions.pm @@ -4,6 +4,7 @@ package VNDB::DB::Discussions; use strict; use warnings; use Exporter 'import'; +use VNDB::Util::Misc 'bbSubstLinks'; our @EXPORT = qw|dbThreadGet dbThreadEdit dbThreadAdd dbPostGet dbPostEdit dbPostAdd dbThreadCount|; @@ -214,7 +215,7 @@ sub dbPostEdit { my($self, $tid, $num, %o) = @_; my %set = ( - 'msg = ?' => $o{msg}, + 'msg = ?' => bbSubstLinks($self, $o{msg}), 'edited = to_timestamp(?)' => $o{lastmod}, 'hidden = ?' => $o{hidden}?1:0, ); @@ -236,6 +237,7 @@ sub dbPostAdd { my $num = $self->dbRow('SELECT num FROM threads_posts WHERE tid = ? ORDER BY num DESC LIMIT 1', $tid)->{num}; $num = $num ? $num+1 : 1; $o{uid} ||= $self->authInfo->{id}; + $o{msg} = bbSubstLinks($self, $o{msg}); $self->dbExec(q| INSERT INTO threads_posts (tid, num, uid, msg) diff --git a/lib/VNDB/DB/Producers.pm b/lib/VNDB/DB/Producers.pm index ad6f22b2..7d4b6897 100644 --- a/lib/VNDB/DB/Producers.pm +++ b/lib/VNDB/DB/Producers.pm @@ -5,7 +5,7 @@ use strict; use warnings; use Exporter 'import'; -our @EXPORT = qw|dbProducerGet dbProducerRevisionInsert|; +our @EXPORT = qw|dbProducerGet dbProducerRevisionInsert dbProducerNames|; # options: results, page, id, search, char, rev @@ -94,5 +94,16 @@ sub dbProducerRevisionInsert { } +sub dbProducerNames { + my($self, @ids) = @_; + return $self->dbAll(q| + SELECT p.id, pr.name + FROM producers p + JOIN producers_rev pr ON pr.id = p.latest + WHERE p.id IN (!l)|, \@ids + ); +} + + 1; diff --git a/lib/VNDB/DB/VN.pm b/lib/VNDB/DB/VN.pm index 090f9ecb..ecf49f96 100644 --- a/lib/VNDB/DB/VN.pm +++ b/lib/VNDB/DB/VN.pm @@ -7,7 +7,7 @@ use Exporter 'import'; use VNDB::Func 'gtintype', 'normalize_query'; use Encode 'decode_utf8'; -our @EXPORT = qw|dbVNGet dbVNRevisionInsert dbVNImageId dbScreenshotAdd dbScreenshotGet dbScreenshotRandom dbVNHasChar|; +our @EXPORT = qw|dbVNGet dbVNRevisionInsert dbVNImageId dbScreenshotAdd dbScreenshotGet dbScreenshotRandom dbVNHasChar dbVNTitles|; # Options: id, rev, char, search, length, lang, olang, plat, tag_inc, tag_exc, tagspoil, @@ -290,5 +290,16 @@ sub dbVNHasChar { )->{exists}; } + +sub dbVNTitles { + my ($self, @vids) = @_; + return $self->dbAll(q| + SELECT v.id, vr.title + FROM vn v + JOIN vn_rev vr ON vr.id = v.latest + WHERE v.id IN (!l)|, \@vids + ); +} + 1; |