diff options
-rw-r--r-- | ChangeLog | 1 | ||||
-rw-r--r-- | Makefile | 9 | ||||
-rw-r--r-- | data/global.pl | 1 | ||||
-rw-r--r-- | data/lang.txt | 37 | ||||
-rw-r--r-- | lib/VNDB/DB/Tags.pm | 4 | ||||
-rw-r--r-- | lib/VNDB/Handler/Tags.pm | 11 | ||||
-rw-r--r-- | util/sql/all.sql | 1 | ||||
-rw-r--r-- | util/sql/schema.sql | 3 | ||||
-rw-r--r-- | util/updates/update_2.18.sql | 5 |
9 files changed, 66 insertions, 6 deletions
@@ -1,4 +1,5 @@ 2.18 - + - Added category field to tags (content/ero/technical) 2.17 - 2011-02-04 - Allow moderators to overrule VN tag votes @@ -37,8 +37,8 @@ # environments. Patches to improve the portability are always welcome. -.PHONY: all dirs js skins robots chmod chmod-tladmin multi-stop multi-start multi-restart\ - sql-import update-2.10 update-2.11 update-2.12 update-2.13 update-2.14 update-2.15 update-2.16 update-2.17 +.PHONY: all dirs js skins robots chmod chmod-tladmin multi-stop multi-start multi-restart sql-import\ + update-2.10 update-2.11 update-2.12 update-2.13 update-2.14 update-2.15 update-2.16 update-2.17 update-2.18 all: dirs js skins robots data/config.pl @@ -168,3 +168,8 @@ update-2.17: all $(multi-stop) ${runpsql} < util/updates/update_2.17.sql $(multi-start) + +update-2.18: all + $(multi-stop) + ${runpsql} < util/updates/update_2.18.sql + $(multi-start) diff --git a/data/global.pl b/data/global.pl index 971db80a..30feb436 100644 --- a/data/global.pl +++ b/data/global.pl @@ -99,6 +99,7 @@ our %S = (%S, [ '1280x800', '_scrres_ws' ], [ '1920x1080', '_scrres_ws' ], ], + tag_categories => [ qw|cont ero tech| ], voiced => [ 0..4 ], animated => [ 0..4 ], wishlist_status => [ 0..3 ], diff --git a/data/lang.txt b/data/lang.txt index 7a470697..8a94a3cb 100644 --- a/data/lang.txt +++ b/data/lang.txt @@ -1137,6 +1137,29 @@ hu : Lemondva nl : Opgegeven +# Tag categories + +:_tagcat_cont +en : Content +ru*: +cs*: +hu*: +nl : Inhoud + +:_tagcat_ero +en : Sexual content +ru*: +cs*: +hu*: +nl : Erotisch + +:_tagcat_tech +en : Technical +ru*: +cs*: +hu*: +nl : Technisch + ############################################################################# @@ -3930,6 +3953,13 @@ cs : Tagy hu : Címkék nl : +:_tagp_cat +en : Category +ru*: +cs*: +hu*: +nl : Categorie + :_tagp_aliases en : Aliases ru : Прочие названия @@ -4158,6 +4188,13 @@ cs : VAROVÁNÍ: Zaškrtnutí této volby nebo výběr položky "Smazáno" jako hu : FIGYELEM: Ezen opció bejelölése vagy a "Törölve" állapot kiválasztása véglegesen megsemmisít minden összefüggést a VN-ekel! nl : WAARSCHUWING: Als je deze optie selecteerd of als je de status op "verwijderd" zet zullen alle stemmen permanent verwijderd worden! +:_tagedit_frm_cat +en : Category +ru*: +cs*: +hu*: +nl : Categorie + :_tagedit_frm_alias en : Aliases (separated by newlines) diff --git a/lib/VNDB/DB/Tags.pm b/lib/VNDB/DB/Tags.pm index b7792eb8..51ab4b93 100644 --- a/lib/VNDB/DB/Tags.pm +++ b/lib/VNDB/DB/Tags.pm @@ -39,7 +39,7 @@ sub dbTagGet { 't.meta = ?' => $o{meta}?1:0 ) : (), ); my @select = ( - qw|t.id t.meta t.name t.description t.state t.c_vns|, + qw|t.id t.meta t.name t.description t.state t.cat t.c_vns|, q|extract('epoch' from t.added) as added|, $o{what} =~ /addedby/ ? ('t.addedby', 'u.username') : (), ); @@ -122,7 +122,7 @@ sub dbTagEdit { $self->dbExec('UPDATE tags !H WHERE id = ?', { $o{upddate} ? ('added = NOW()' => 1) : (), - map { +"$_ = ?" => $o{$_} } qw|name meta description state| + map { +"$_ = ?" => $o{$_} } qw|name meta description state cat| }, $id); $self->dbExec('DELETE FROM tags_aliases WHERE tag = ?', $id); $self->dbExec('INSERT INTO tags_aliases (tag, alias) VALUES (?, ?)', $id, $_) for (@{$o{aliases}}); diff --git a/lib/VNDB/Handler/Tags.pm b/lib/VNDB/Handler/Tags.pm index 43137506..50c91455 100644 --- a/lib/VNDB/Handler/Tags.pm +++ b/lib/VNDB/Handler/Tags.pm @@ -94,6 +94,11 @@ sub tagpage { lit bb2html $t->{description}; end; } + p class => 'center'; + b mt('_tagp_cat'); + br; + txt mt("_tagcat_$t->{cat}"); + end; if(@{$t->{aliases}}) { p class => 'center'; b mt('_tagp_aliases'); @@ -198,6 +203,7 @@ sub tagedit { $frm = $self->formValidate( { post => 'name', required => 1, maxlength => 250, regex => [ qr/^[^,]+$/, 'A comma is not allowed in tag names' ] }, { post => 'state', required => 0, default => 0, enum => [ 0..2 ] }, + { post => 'cat', required => 1, enum => $self->{tag_categories} }, { post => 'meta', required => 0, default => 0 }, { post => 'alias', required => 0, maxlength => 1024, default => '', regex => [ qr/^[^,]+$/s, 'No comma allowed in aliases' ] }, { post => 'description', required => 0, maxlength => 10240, default => '' }, @@ -225,6 +231,7 @@ sub tagedit { my %opts = ( name => $frm->{name}, state => $frm->{state}, + cat => $frm->{cat}, description => $frm->{description}, meta => $frm->{meta}?1:0, aliases => \@aliases, @@ -242,7 +249,7 @@ sub tagedit { } if($tag) { - $frm->{$_} ||= $t->{$_} for (qw|name meta description state|); + $frm->{$_} ||= $t->{$_} for (qw|name meta description state cat|); $frm->{alias} ||= join "\n", @{$t->{aliases}}; $frm->{parents} ||= join ', ', map $_->{name}, @{$t->{parents}}; } @@ -274,6 +281,8 @@ sub tagedit { $tag ? [ static => content => mt '_tagedit_frm_meta_warn' ] : (), ) : (), + [ select => short => 'cat', name => mt('_tagedit_frm_cat'), options => [ + map [$_, mt "_tagcat_$_"], @{$self->{tag_categories}} ] ], [ textarea => short => 'alias', name => mt('_tagedit_frm_alias'), cols => 30, rows => 4 ], [ textarea => short => 'description', name => mt '_tagedit_frm_desc' ], [ static => content => mt '_tagedit_frm_desc_msg' ], diff --git a/util/sql/all.sql b/util/sql/all.sql index 09a6d214..0a6d1037 100644 --- a/util/sql/all.sql +++ b/util/sql/all.sql @@ -13,6 +13,7 @@ CREATE TYPE notification_ltype AS ENUM ('v', 'r', 'p', 't'); CREATE TYPE prefs_key AS ENUM ('l10n', 'skin', 'customcss', 'filter_vn', 'filter_release', 'show_nsfw', 'hide_list', 'notify_nodbedit', 'notify_announce'); CREATE TYPE producer_relation AS ENUM ('old', 'new', 'sub', 'par', 'imp', 'ipa', 'spa', 'ori'); CREATE TYPE release_type AS ENUM ('complete', 'partial', 'trial'); +CREATE TYPE tag_category AS ENUM('cont', 'ero', 'tech'); CREATE TYPE vn_relation AS ENUM ('seq', 'preq', 'set', 'alt', 'char', 'side', 'par', 'ser', 'fan', 'orig'); diff --git a/util/sql/schema.sql b/util/sql/schema.sql index 2a3a394a..dd2b2ffd 100644 --- a/util/sql/schema.sql +++ b/util/sql/schema.sql @@ -193,7 +193,8 @@ CREATE TABLE tags ( added timestamptz NOT NULL DEFAULT NOW(), state smallint NOT NULL DEFAULT 0, c_vns integer NOT NULL DEFAULT 0, - addedby integer NOT NULL DEFAULT 0 + addedby integer NOT NULL DEFAULT 0, + cat tag_category NOT NULL DEFAULT 'cont' ); -- tags_aliases diff --git a/util/updates/update_2.18.sql b/util/updates/update_2.18.sql new file mode 100644 index 00000000..c4cfe84f --- /dev/null +++ b/util/updates/update_2.18.sql @@ -0,0 +1,5 @@ + +CREATE TYPE tag_category AS ENUM('cont', 'ero', 'tech'); + +ALTER TABLE tags ADD COLUMN cat tag_category NOT NULL DEFAULT 'cont'; + |