diff options
-rw-r--r-- | ChangeLog | 1 | ||||
-rw-r--r-- | data/global.pl | 4 | ||||
-rw-r--r-- | data/lang.txt | 20 | ||||
-rw-r--r-- | data/script.js | 8 | ||||
-rw-r--r-- | lib/VNDB/DB/ULists.pm | 8 | ||||
-rw-r--r-- | lib/VNDB/Func.pm | 17 | ||||
-rw-r--r-- | lib/VNDB/Handler/Releases.pm | 6 | ||||
-rw-r--r-- | lib/VNDB/Handler/ULists.pm | 20 | ||||
-rw-r--r-- | lib/VNDB/Handler/VNPage.pm | 6 | ||||
-rwxr-xr-x | util/jsgen.pl | 3 | ||||
-rw-r--r-- | util/sql/schema.sql | 3 | ||||
-rw-r--r-- | util/updates/update_2.16.sql | 4 |
12 files changed, 44 insertions, 56 deletions
@@ -3,6 +3,7 @@ - Fixed perl warning on /v/search redirect without search query - Don't allow NULL for rr.minage and use -1 for unknown - Check for editsum = description and give an easier to understand error + - RFC-01: Added vnlists feature and removed rlists.vstat option 2.15 - 2010-12-15 - Removed expand/collapse from history browser and /u+/posts and switched to diff --git a/data/global.pl b/data/global.pl index 284b1367..f898599e 100644 --- a/data/global.pl +++ b/data/global.pl @@ -99,8 +99,8 @@ our %S = (%S, voiced => [ 0..4 ], animated => [ 0..4 ], wishlist_status => [ 0..3 ], - rlst_rstat => [ 0..4 ], # 2 = hardcoded 'OK', < 2 = hardcoded 'NOK' - rlst_vstat => [ 0..4 ], # 2 = hardcoded 'OK', 0 || 4 = hardcoded 'NOK' + rlist_status => [ 0..4 ], # 2 = hardcoded 'OK' + vnlist_status => [ 0..4 ], atom_feeds => { # num_entries, title, id announcements => [ 10, 'VNDB Site Announcements', '/t/an' ], changes => [ 25, 'VNDB Recent Changes', '/hist' ], diff --git a/data/lang.txt b/data/lang.txt index 7d25ffa0..4d391fc1 100644 --- a/data/lang.txt +++ b/data/lang.txt @@ -1137,70 +1137,70 @@ nl : Erg lang[index,_1,, (> 50 uur), (Clannad~, Umineko~, Fate/Stay Night)] # VN list statuses -:_rlst_stat_0 +:_rlist_status_0 en : Unknown ru : Неизвестно cs : Není známo hu : Ismeretlen nl : Onbekend -:_rlst_stat_1 +:_rlist_status_1 en : Pending ru : Ожидается cs : V čekání hu : Függő nl : Bezig -:_rlst_stat_2 +:_rlist_status_2 en : Obtained ru : Приобретено cs : Obdrženo hu : Megszerezve nl : In bezit -:_rlst_stat_3 +:_rlist_status_3 en : On loan ru : Взято напрокат cs : Vypůjčeno hu : Kölcsönadva nl : Uitgeleend -:_rlst_stat_4 +:_rlist_status_4 en : Deleted ru : Удалено cs : Smazáno hu : Törölve nl : Weggegooid -:_vnlst_stat_0 +:_vnlist_status_0 en : Unknown ru : Неизвестно cs : Není známo hu : Ismeretlen nl : Onbekend -:_vnlst_stat_1 +:_vnlist_status_1 en : Playing ru : В процессе cs : Ve hraní hu : Játszás nl : Mee bezig -:_vnlst_stat_2 +:_vnlist_status_2 en : Finished ru : Завершено cs : Dohráno hu : Befejezve nl : Uitgespeeld -:_vnlst_stat_3 +:_vnlist_status_3 en : Stalled ru : Застряло cs : Pozastaveno hu : Leragadva nl : Uitgesteld -:_vnlst_stat_4 +:_vnlist_status_4 en : Dropped ru : Заброшено cs : Vyřazeno diff --git a/data/script.js b/data/script.js index f031ace9..bd72cfbd 100644 --- a/data/script.js +++ b/data/script.js @@ -384,12 +384,12 @@ function rlDropDown(lnk) { return null; var o = tag('ul', null); - for(var i=0; i<rlst_rstat.length; i++) { - var val = mt('_rlst_stat_'+rlst_rstat[i]); // l10n /_rlst_stat_\d+/ + for(var i=0; i<rlist_status.length; i++) { + var val = mt('_rlist_status_'+rlist_status[i]); // l10n /_rlist_status_\d+/ if(st == val) o.appendChild(tag('li', tag('i', val))); else - o.appendChild(tag('li', tag('a', {href:'#', rl_rid:relid, rl_act:rlst_rstat[i], onclick:rlMod}, val))); + o.appendChild(tag('li', tag('a', {href:'#', rl_rid:relid, rl_act:rlist_status[i], onclick:rlMod}, val))); } if(st != '--') o.appendChild(tag('li', tag('a', {href:'#', rl_rid:relid, rl_act:-1, onclick:rlMod}, mt('_vnpage_uopt_reldel')))); @@ -404,7 +404,7 @@ function rlMod() { ddHide(); setContent(lnk, tag('b', {'class': 'grayedout'}, mt('_js_loading'))); ajax('/xml/rlist.xml?formcode='+code+';id='+this.rl_rid+';e='+act, function(hr) { - setText(lnk, act == -1 ? '--' : mt('_rlst_stat_'+act)); + setText(lnk, act == -1 ? '--' : mt('_rlist_status_'+act)); }); return false; } diff --git a/lib/VNDB/DB/ULists.pm b/lib/VNDB/DB/ULists.pm index 1aedfe80..934cfe84 100644 --- a/lib/VNDB/DB/ULists.pm +++ b/lib/VNDB/DB/ULists.pm @@ -23,7 +23,7 @@ sub dbRListGet { ); return $self->dbAll(q| - SELECT uid, rid, rstat AS status + SELECT uid, rid, status FROM rlists !W|, \%where @@ -88,7 +88,7 @@ sub dbVNListList { } @$r; my $rel = $self->dbAll(q| - SELECT rv.vid, rr.rid, r.latest, rr.title, rr.original, rr.released, rr.type, rl.rstat AS status + SELECT rv.vid, rr.rid, r.latest, rr.title, rr.original, rr.released, rr.type, rl.status FROM rlists rl JOIN releases r ON rl.rid = r.id JOIN releases_rev rr ON rr.id = r.latest @@ -150,12 +150,12 @@ sub dbVNListDel { sub dbRListAdd { my($self, $uid, $rid, $stat) = @_; $self->dbExec( - 'UPDATE rlists SET rstat = ? WHERE uid = ? AND rid IN(!l)', + 'UPDATE rlists SET status = ? WHERE uid = ? AND rid IN(!l)', $stat, $uid, ref($rid) ? $rid : [ $rid ] ) || $self->dbExec( - 'INSERT INTO rlists (uid, rid, rstat) VALUES(?, ?, ?)', + 'INSERT INTO rlists (uid, rid, status) VALUES(?, ?, ?)', $uid, $rid, $stat ); } diff --git a/lib/VNDB/Func.pm b/lib/VNDB/Func.pm index dcec9e8f..bb8ad775 100644 --- a/lib/VNDB/Func.pm +++ b/lib/VNDB/Func.pm @@ -7,7 +7,7 @@ use YAWF ':html'; use Exporter 'import'; use POSIX 'strftime', 'ceil', 'floor'; use VNDBUtil; -our @EXPORT = (@VNDBUtil::EXPORT, qw| liststat clearfloat cssicon tagscore mt minage fil_parse fil_serialize |); +our @EXPORT = (@VNDBUtil::EXPORT, qw| clearfloat cssicon tagscore mt minage fil_parse fil_serialize |); # three ways to represent the same information @@ -16,21 +16,6 @@ our @fil_escape = split //, $fil_escape; our %fil_escape = map +($fil_escape[$_], sprintf '%02d', $_), 0..$#fil_escape; -# Argument: hashref with rstat and vstat -# Returns: empty string if not in list, otherwise colour-encoded list status -sub liststat { - my $l = shift; - return '' if !$l; - my $rs = mt('_rlst_rstat_'.$l->{rstat}); - $rs = qq|<b class="done">$rs</b>| if $l->{rstat} == 2; # Obtained - $rs = qq|<b class="todo">$rs</b>| if $l->{rstat} < 2; # Unknown/pending - my $vs = mt('_rlst_vstat_'.$l->{vstat}); - $vs = qq|<b class="done">$vs</b>| if $l->{vstat} == 2; # Finished - $vs = qq|<b class="todo">$vs</b>| if $l->{vstat} == 0 || $l->{vstat} == 4; # Unknown/dropped - return "$rs / $vs"; -} - - # Clears a float, to make sure boxes always have the correct height sub clearfloat { div class => 'clearfloat', ''; diff --git a/lib/VNDB/Handler/Releases.pm b/lib/VNDB/Handler/Releases.pm index 6b9dbd8f..5a040b22 100644 --- a/lib/VNDB/Handler/Releases.pm +++ b/lib/VNDB/Handler/Releases.pm @@ -242,10 +242,10 @@ sub _infotable { td; Select id => 'listsel', name => $self->authGetCode("/r$r->{id}/list"); option value => -2, - mt !$rl ? '_relinfo_user_notlist' : ('_relinfo_user_inlist', mt('_rlst_stat_'.$rl->{status})); + mt !$rl ? '_relinfo_user_notlist' : ('_relinfo_user_inlist', mt('_rlist_status_'.$rl->{status})); optgroup label => mt '_relinfo_user_setstatus'; - option value => $_, mt '_rlst_stat_'.$_ - for (@{$self->{rlst_rstat}}); + option value => $_, mt '_rlist_status_'.$_ + for (@{$self->{rlist_status}}); end; option value => -1, mt '_relinfo_user_del' if $rl; end; diff --git a/lib/VNDB/Handler/ULists.pm b/lib/VNDB/Handler/ULists.pm index f89e5e56..d13c63cb 100644 --- a/lib/VNDB/Handler/ULists.pm +++ b/lib/VNDB/Handler/ULists.pm @@ -65,7 +65,7 @@ sub vnlist_e { return if !$self->authCheckCode; my $f = $self->formValidate( - { name => 'e', enum => [ -1, @{$self->{rlst_vstat}} ] } + { name => 'e', enum => [ -1, @{$self->{vnlist_status}} ] } ); return 404 if $f->{_err}; @@ -93,7 +93,7 @@ sub rlist_e { return if !$self->authCheckCode; my $f = $self->formValidate( - { name => 'e', required => 1, enum => [ -1, @{$self->{rlst_rstat}} ] } + { name => 'e', required => 1, enum => [ -1, @{$self->{rlist_status}} ] } ); return 404 if $f->{_err}; @@ -294,8 +294,8 @@ sub vnlist { my $frm = $self->formValidate( { name => 'vid', required => 0, default => 0, multi => 1, template => 'int' }, { name => 'rid', required => 0, default => 0, multi => 1, template => 'int' }, - { name => 'vns', required => 1, enum => [ -2, -1, @{$self->{rlst_vstat}} ] }, - { name => 'rel', required => 1, enum => [ -2, -1, @{$self->{rlst_rstat}} ] }, + { name => 'vns', required => 1, enum => [ -2, -1, @{$self->{vnlist_status}} ] }, + { name => 'rel', required => 1, enum => [ -2, -1, @{$self->{rlist_status}} ] }, ); my @vid = grep $_ > 0, @{$frm->{vid}}; my @rid = grep $_ > 0, @{$frm->{rid}}; @@ -388,7 +388,7 @@ sub _vnlist_browse { td class => 'tc3_5', colspan => 3; a href => "/v$i->{vid}", title => $i->{original}||$i->{title}, shorten $i->{title}, 70; end; - td class => 'tc6', $i->{status} ? mt '_vnlst_stat_'.$i->{status} : ''; + td class => 'tc6', $i->{status} ? mt '_vnlist_status_'.$i->{status} : ''; td class => 'tc7'; my $obtained = grep $_->{status}==2, @{$i->{rels}}; my $total = scalar @{$i->{rels}}; @@ -414,7 +414,7 @@ sub _vnlist_browse { td class => 'tc5'; a href => "/r$_->{rid}", title => $_->{original}||$_->{title}, shorten $_->{title}, 50; end; - td class => 'tc6', $_->{status} ? mt '_rlst_stat_'.$_->{status} : ''; + td class => 'tc6', $_->{status} ? mt '_rlist_status_'.$_->{status} : ''; td class => 'tc7_8', colspan => 2, ''; end; } @@ -428,16 +428,16 @@ sub _vnlist_browse { Select id => 'vns', name => 'vns'; option value => -2, mt '_rlist_withvn'; optgroup label => mt '_rlist_changestat'; - option value => $_, mt "_vnlst_stat_$_" - for (@{$self->{rlst_vstat}}); + option value => $_, mt "_vnlist_status_$_" + for (@{$self->{vnlist_status}}); end; option value => -1, mt '_rlist_del'; end; Select id => 'rel', name => 'rel'; option value => -2, mt '_rlist_withrel'; optgroup label => mt '_rlist_changestat'; - option value => $_, mt "_rlst_stat_$_" - for (@{$self->{rlst_rstat}}); + option value => $_, mt "_rlist_status_$_" + for (@{$self->{rlist_status}}); end; option value => -1, mt '_rlist_del'; end; diff --git a/lib/VNDB/Handler/VNPage.pm b/lib/VNDB/Handler/VNPage.pm index 5a925711..ab10f5e9 100644 --- a/lib/VNDB/Handler/VNPage.pm +++ b/lib/VNDB/Handler/VNPage.pm @@ -361,9 +361,9 @@ sub _useroptions { } Select id => 'listsel', name => $self->authGetCode("/v$v->{id}/list"); - option $list ? mt '_vnpage_uopt_vnlisted', mt '_vnlst_stat_'.$list->{status} : mt '_vnpage_uopt_novn'; + option $list ? mt '_vnpage_uopt_vnlisted', mt '_vnlist_status_'.$list->{status} : mt '_vnpage_uopt_novn'; optgroup label => $list ? mt '_vnpage_uopt_changevn' : mt '_vnpage_uopt_addvn'; - option value => $_, mt "_vnlst_stat_$_" for (@{$self->{rlst_vstat}}); + option value => $_, mt "_vnlist_status_$_" for (@{$self->{rlist_status}}); end; option value => -1, mt '_vnpage_uopt_delvn' if $list; end; @@ -432,7 +432,7 @@ sub _releases { td class => 'tc5'; if($self->authInfo->{id}) { a href => "/r$rel->{id}", id => "rlsel_$rel->{id}", class => 'vnrlsel', - $rel->{ulist} ? mt '_rlst_stat_'.$rel->{ulist}{status} : '--'; + $rel->{ulist} ? mt '_rlist_status_'.$rel->{ulist}{status} : '--'; } else { txt ' '; } diff --git a/util/jsgen.pl b/util/jsgen.pl index a2a7d7af..58b0ac9a 100755 --- a/util/jsgen.pl +++ b/util/jsgen.pl @@ -101,8 +101,7 @@ sub resolutions { sub jsgen { l10n_load(); my $common = ''; - $common .= sprintf "rlst_rstat = [ %s ];\n", join ', ', map qq{"$_"}, @{$S{rlst_rstat}}; - $common .= sprintf "rlst_vstat = [ %s ];\n", join ', ', map qq{"$_"}, @{$S{rlst_vstat}}; + $common .= sprintf "rlist_status = [ %s ];\n", join ', ', map qq{"$_"}, @{$S{rlist_status}}; $common .= sprintf "cookie_prefix = '%s';\n", $S{cookie_prefix}; $common .= sprintf "age_ratings = [ %s ];\n", join ',', @{$S{age_ratings}}; $common .= sprintf "languages = [ %s ];\n", join ', ', map qq{"$_"}, @{$S{languages}}; diff --git a/util/sql/schema.sql b/util/sql/schema.sql index 2ea03f4a..4daa2f1c 100644 --- a/util/sql/schema.sql +++ b/util/sql/schema.sql @@ -156,8 +156,7 @@ CREATE TABLE relgraphs ( CREATE TABLE rlists ( uid integer NOT NULL DEFAULT 0, rid integer NOT NULL DEFAULT 0, - vstat smallint NOT NULL DEFAULT 0, - rstat smallint NOT NULL DEFAULT 0, + status smallint NOT NULL DEFAULT 0, added timestamptz NOT NULL DEFAULT NOW(), PRIMARY KEY(uid, rid) ); diff --git a/util/updates/update_2.16.sql b/util/updates/update_2.16.sql index 580be925..07050734 100644 --- a/util/updates/update_2.16.sql +++ b/util/updates/update_2.16.sql @@ -42,3 +42,7 @@ INSERT INTO vnlists SELECT CREATE CONSTRAINT TRIGGER update_vnlist_rlist AFTER DELETE ON vnlists DEFERRABLE FOR EACH ROW EXECUTE PROCEDURE update_vnlist_rlist(); CREATE CONSTRAINT TRIGGER update_vnlist_rlist AFTER INSERT ON rlists DEFERRABLE FOR EACH ROW EXECUTE PROCEDURE update_vnlist_rlist(); +-- remove rlists.vstat and rename rlists.rstat +ALTER TABLE rlists DROP COLUMN vstat; +ALTER TABLE rlists RENAME COLUMN rstat TO status; + |