summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--data/docs/42
-rw-r--r--lib/VNDB/DB/Producers.pm8
-rw-r--r--lib/VNDB/Handler/Producers.pm7
-rw-r--r--util/dump.sql3
-rw-r--r--util/updates/update_2.3.sql5
6 files changed, 22 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index 164d96b5..8aa03ff7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -5,6 +5,9 @@
- Homepage shows platform icons for releases
- Don't show deleted items on /u+ recent changes
- Catalog number field to release entries
+ - Aliases field to producers
+ - Various small improvements to the BBcode
+ - Various bugfixes
2.2 - 2009-01-16
- Additional custom CSS field to user profile
diff --git a/data/docs/4 b/data/docs/4
index 71293904..ea99500c 100644
--- a/data/docs/4
+++ b/data/docs/4
@@ -17,6 +17,8 @@
The name of the producer in the Latin alphabet (using Romanisation or translation).
</dd><dt>Original name</dt><dd>
If the Name (above) has been Romanised or translated, place the original name here.
+ </dd><dt>Aliases</dt><dd>
+ Other names the producer is known as. Multiple aliases should be separated by a comma.
</dd><dt>Primary language</dt><dd>
The language the the producer works in most of the time. By default, it is Japanese.
</dd><dt>Website</dt><dd>
diff --git a/lib/VNDB/DB/Producers.pm b/lib/VNDB/DB/Producers.pm
index c7abd765..141639f9 100644
--- a/lib/VNDB/DB/Producers.pm
+++ b/lib/VNDB/DB/Producers.pm
@@ -27,7 +27,7 @@ sub dbProducerGet {
$o{id} ? (
'p.id = ?' => $o{id} ) : (),
$o{search} ? (
- '(pr.name ILIKE ? OR pr.original ILIKE ?)', [ '%%'.$o{search}.'%%', '%%'.$o{search}.'%%' ] ) : (),
+ '(pr.name ILIKE ? OR pr.original ILIKE ? OR pr.alias ILIKE ?)', [ map '%%'.$o{search}.'%%', 1..3 ] ) : (),
$o{char} ? (
'LOWER(SUBSTR(pr.name, 1, 1)) = ?' => $o{char} ) : (),
defined $o{char} && !$o{char} ? (
@@ -41,7 +41,7 @@ sub dbProducerGet {
push @join, 'JOIN changes c ON c.id = pr.id' if $o{what} =~ /changes/ || $o{rev};
push @join, 'JOIN users u ON u.id = c.requester' if $o{what} =~ /changes/;
- my $select = 'p.id, p.locked, p.hidden, pr.type, pr.name, pr.original, pr.website, pr.lang, pr.desc';
+ my $select = 'p.id, p.locked, p.hidden, pr.type, pr.name, pr.original, pr.website, pr.lang, pr.desc, pr.alias';
$select .= ', c.added, c.requester, c.comments, p.latest, pr.id AS cid, u.username, c.rev' if $o{what} =~ /changes/;
my($r, $np) = $self->dbPage(\%o, q|
@@ -105,9 +105,9 @@ sub dbProducerAdd {
sub insert_rev {
my($self, $cid, $pid, $o) = @_;
$self->dbExec(q|
- INSERT INTO producers_rev (id, pid, name, original, website, type, lang, "desc")
+ INSERT INTO producers_rev (id, pid, name, original, website, type, lang, "desc", alias)
VALUES (!l)|,
- [ $cid, $pid, @$o{qw| name original website type lang desc|} ]
+ [ $cid, $pid, @$o{qw| name original website type lang desc alias|} ]
);
}
diff --git a/lib/VNDB/Handler/Producers.pm b/lib/VNDB/Handler/Producers.pm
index 0efd2f47..36b9b1cf 100644
--- a/lib/VNDB/Handler/Producers.pm
+++ b/lib/VNDB/Handler/Producers.pm
@@ -36,6 +36,7 @@ sub page {
[ type => 'Type', serialize => sub { $self->{producer_types}{$_[0]} } ],
[ name => 'Name (romaji)', diff => 1 ],
[ original => 'Original name', diff => 1 ],
+ [ alias => 'Aliases', diff => 1 ],
[ lang => 'Language', serialize => sub { "$_[0] ($self->{languages}{$_[0]})" } ],
[ website => 'Website', diff => 1 ],
[ desc => 'Description', diff => 1 ],
@@ -48,6 +49,7 @@ sub page {
h2 class => 'alttitle', $p->{original} if $p->{original};
p class => 'center';
txt "$self->{languages}{$p->{lang}} \L$self->{producer_types}{$p->{type}}";
+ txt "\na.k.a. $p->{alias}" if $p->{alias};
if($p->{website}) {
txt "\n";
a href => $p->{website}, $p->{website};
@@ -94,7 +96,7 @@ sub edit {
return $self->htmlDenied if !$self->authCan('edit')
|| $pid && ($p->{locked} && !$self->authCan('lock') || $p->{hidden} && !$self->authCan('del'));
- my %b4 = !$pid ? () : map { $_ => $p->{$_} } qw|type name original lang website desc|;
+ my %b4 = !$pid ? () : map { $_ => $p->{$_} } qw|type name original lang website desc alias|;
my $frm;
if($self->reqMethod eq 'POST') {
@@ -102,6 +104,7 @@ sub edit {
{ name => 'type', enum => [ keys %{$self->{producer_types}} ] },
{ name => 'name', maxlength => 200 },
{ name => 'original', required => 0, maxlength => 200, default => '' },
+ { name => 'alias', required => 0, maxlength => 500, default => '' },
{ name => 'lang', enum => [ keys %{$self->{languages}} ] },
{ name => 'website', required => 0, template => 'url', default => '' },
{ name => 'desc', required => 0, maxlength => 5000, default => '' },
@@ -137,6 +140,8 @@ sub edit {
[ input => name => 'Name (romaji)', short => 'name' ],
[ input => name => 'Original name', short => 'original' ],
[ static => content => q|The original name of the producer, leave blank if it is already in the Latin alphabet.| ],
+ [ input => name => 'Aliases', short => 'alias', width => 400 ],
+ [ static => content => q|(Un)official aliases, separated by a comma.| ],
[ select => name => 'Primary language', short => 'lang',
options => [ map [ $_, "$_ ($self->{languages}{$_})" ], sort keys %{$self->{languages}} ] ],
[ input => name => 'Website', short => 'website' ],
diff --git a/util/dump.sql b/util/dump.sql
index 470a8aeb..e3652a0f 100644
--- a/util/dump.sql
+++ b/util/dump.sql
@@ -58,7 +58,8 @@ CREATE TABLE producers_rev (
original varchar(200) NOT NULL DEFAULT '',
website varchar(250) NOT NULL DEFAULT '',
lang varchar NOT NULL DEFAULT 'ja',
- "desc" text NOT NULL DEFAULT ''
+ "desc" text NOT NULL DEFAULT '',
+ alias varchar(500) NOT NULL DEFAULT ''
);
diff --git a/util/updates/update_2.3.sql b/util/updates/update_2.3.sql
index d43718c9..21db32ca 100644
--- a/util/updates/update_2.3.sql
+++ b/util/updates/update_2.3.sql
@@ -9,3 +9,8 @@ CREATE TABLE quotes (
-- catalog numbers for releases
ALTER TABLE releases_rev ADD COLUMN catalog varchar(50) NOT NULL DEFAULT '';
+
+
+-- aliases field for producers
+ALTER TABLE producers_rev ADD COLUMN alias varchar(500) NOT NULL DEFAULT '';
+