diff options
-rw-r--r-- | ChangeLog | 1 | ||||
-rw-r--r-- | data/lang.txt | 24 | ||||
-rw-r--r-- | lib/VNDB/DB/Producers.pm | 6 | ||||
-rw-r--r-- | lib/VNDB/Handler/Producers.pm | 19 | ||||
-rw-r--r-- | util/dump.sql | 3 | ||||
-rw-r--r-- | util/updates/update_2.9.sql | 4 |
6 files changed, 50 insertions, 7 deletions
@@ -8,6 +8,7 @@ git - ? - Added :SUBSUB: macro to the doc pages - Allow NULL values for releases_rev.minage - Made age ratings translatable + - Added wikipedia link for producers 2.8 - 2009-10-24 - Converted relation graphs to use inline SVG diff --git a/data/lang.txt b/data/lang.txt index 3b4a9ff0..06975ddc 100644 --- a/data/lang.txt +++ b/data/lang.txt @@ -2176,6 +2176,18 @@ ru : a.k.a. [_1] cs : a.k.a. [_1] hu : +:_prodpage_homepage +en : Homepage +ru*: +cs*: +hu*: + +:_prodpage_wikipedia +en : Wikipedia +ru*: +cs*: +hu*: + :_prodpage_vnrel en : Visual Novel Relations ru : Связи новелл @@ -2239,6 +2251,12 @@ ru : Веб-сайт cs : Internetová stránka hu : Weboldal +:_revfield_p_l_wp +en : Wikipedia link +ru*: +cs*: +hu*: + :_revfield_p_desc en : Description ru : Описание @@ -2335,6 +2353,12 @@ ru : Веб-сайт cs : Internetová stránka hu : Weboldal +:_pedit_form_wikipedia +en : Wikipedia link +ru*: +cs*: +hu*: + :_pedit_form_desc en : Description ru : Описание diff --git a/lib/VNDB/DB/Producers.pm b/lib/VNDB/DB/Producers.pm index 7c7da3ba..0539634c 100644 --- a/lib/VNDB/DB/Producers.pm +++ b/lib/VNDB/DB/Producers.pm @@ -43,7 +43,7 @@ sub dbProducerGet { push @join, 'JOIN relgraphs pg ON pg.id = p.rgraph' if $o{what} =~ /relgraph/; my $select = 'p.id, pr.type, pr.name, pr.original, pr.lang, pr.id AS cid, p.rgraph'; - $select .= ', pr.desc, pr.alias, pr.website, p.hidden, p.locked' if $o{what} =~ /extended/; + $select .= ', pr.desc, pr.alias, pr.website, pr.l_wp, p.hidden, p.locked' if $o{what} =~ /extended/; $select .= q|, extract('epoch' from c.added) as added, c.requester, c.comments, p.latest, pr.id AS cid, u.username, c.rev| if $o{what} =~ /changes/; $select .= ', pg.svg' if $o{what} =~ /relgraph/; @@ -125,9 +125,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", alias) + INSERT INTO producers_rev (id, pid, name, original, website, l_wp, type, lang, "desc", alias) VALUES (!l)|, - [ $cid, $pid, @$o{qw| name original website type lang desc alias|} ] + [ $cid, $pid, @$o{qw| name original website l_wp type lang desc alias|} ] ); $self->dbExec(q| diff --git a/lib/VNDB/Handler/Producers.pm b/lib/VNDB/Handler/Producers.pm index 27534e67..e3473c3c 100644 --- a/lib/VNDB/Handler/Producers.pm +++ b/lib/VNDB/Handler/Producers.pm @@ -62,6 +62,9 @@ sub page { [ alias => diff => 1 ], [ lang => serialize => sub { "$_[0] (".mt("_lang_$_[0]").')' } ], [ website => diff => 1 ], + [ l_wp => htmlize => sub { + $_[0] ? sprintf '<a href="http://en.wikipedia.org/wiki/%s">%1$s</a>', xml_escape $_[0] : mt '_vndiff_nolink' # _vn? hmm... + }], [ desc => diff => 1 ], [ relations => join => '<br />', split => sub { my @r = map sprintf('%s: <a href="/p%d" title="%s">%s</a>', @@ -79,9 +82,15 @@ sub page { p class => 'center'; txt mt '_prodpage_langtype', mt("_lang_$p->{lang}"), mt "_ptype_$p->{type}"; txt "\n".mt '_prodpage_aliases', $p->{alias} if $p->{alias}; - if($p->{website}) { - txt "\n"; - a href => $p->{website}, $p->{website}; + + my @links = ( + $p->{website} ? [ 'homepage', $p->{website} ] : (), + $p->{l_wp} ? [ 'wikipedia', "http://en.wikipedia.org/wiki/$p->{l_wp}" ] : (), + ); + txt "\n" if @links; + for(@links) { + a href => $_->[1], mt "_prodpage_$_->[0]"; + txt ' - ' if $_ ne $links[$#links]; } end; @@ -146,6 +155,7 @@ sub edit { my %b4 = !$pid ? () : ( (map { $_ => $p->{$_} } qw|type name original lang website desc alias|), + l_wp => $p->{l_wp} || '', prodrelations => join('|||', map $_->{relation}.','.$_->{id}.','.$_->{name}, sort { $a->{id} <=> $b->{id} } @{$p->{relations}}), ); my $frm; @@ -158,6 +168,7 @@ sub edit { { name => 'alias', required => 0, maxlength => 500, default => '' }, { name => 'lang', enum => $self->{languages} }, { name => 'website', required => 0, template => 'url', default => '' }, + { name => 'l_wp', required => 0, maxlength => 150, default => '' }, { name => 'desc', required => 0, maxlength => 5000, default => '' }, { name => 'prodrelations', required => 0, maxlength => 5000, default => '' }, { name => 'editsum', maxlength => 5000 }, @@ -173,6 +184,7 @@ sub edit { if $pid && !grep $frm->{$_} ne $b4{$_}, keys %b4; $frm->{relations} = $relations; + $frm->{l_wp} = undef if !$frm->{l_wp}; $rev = 1; my $npid = $pid; my $cid; @@ -210,6 +222,7 @@ sub edit { [ select => name => mt('_pedit_form_lang'), short => 'lang', options => [ map [ $_, "$_ (".mt("_lang_$_").')' ], sort @{$self->{languages}} ] ], [ input => name => mt('_pedit_form_website'), short => 'website' ], + [ input => name => mt('_pedit_form_wikipedia'), short => 'l_wp', pre => 'http://en.wikipedia.org/wiki/' ], [ text => name => mt('_pedit_form_desc').'<br /><b class="standout">'.mt('_inenglish').'</b>', short => 'desc', rows => 6 ], ], 'pedit_rel' => [ mt('_pedit_form_rel'), [ hidden => short => 'prodrelations' ], diff --git a/util/dump.sql b/util/dump.sql index 8edf56c5..dfdeb021 100644 --- a/util/dump.sql +++ b/util/dump.sql @@ -69,7 +69,8 @@ CREATE TABLE producers_rev ( website varchar(250) NOT NULL DEFAULT '', lang varchar NOT NULL DEFAULT 'ja', "desc" text NOT NULL DEFAULT '', - alias varchar(500) NOT NULL DEFAULT '' + alias varchar(500) NOT NULL DEFAULT '', + l_wp varchar(150) ); -- quotes diff --git a/util/updates/update_2.9.sql b/util/updates/update_2.9.sql index 4321f898..9bb00979 100644 --- a/util/updates/update_2.9.sql +++ b/util/updates/update_2.9.sql @@ -38,3 +38,7 @@ ALTER TABLE releases_rev ALTER COLUMN minage DROP NOT NULL; ALTER TABLE releases_rev ALTER COLUMN minage DROP DEFAULT; UPDATE releases_rev SET minage = NULL WHERE minage < 0; + +-- wikipedia link for producers +ALTER TABLE producers_rev ADD COLUMN l_wp varchar(150); + |