summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/VNDB/Handler/Tags.pm31
1 files changed, 31 insertions, 0 deletions
diff --git a/lib/VNDB/Handler/Tags.pm b/lib/VNDB/Handler/Tags.pm
index 521d4fc8..40183ea4 100644
--- a/lib/VNDB/Handler/Tags.pm
+++ b/lib/VNDB/Handler/Tags.pm
@@ -17,6 +17,7 @@ YAWF::register(
qr{v([1-9]\d*)/tagmod}, \&vntagmod,
qr{u([1-9]\d*)/tags}, \&usertags,
qr{g}, \&tagindex,
+ qr{g/debug}, \&fulltree,
qr{xml/tags\.xml}, \&tagxml,
);
@@ -591,6 +592,36 @@ sub tagindex {
}
+# non-translatable debug page
+sub fulltree {
+ my $self = shift;
+ return $self->htmlDenied if !$self->authCan('tagmod');
+
+ my $e;
+ $e = sub {
+ my $lst = shift;
+ ul style => 'list-style-type: none; margin-left: 15px';
+ for (@$lst) {
+ li;
+ txt '> ';
+ a href => "/g$_->{id}", $_->{name};
+ b class => 'grayedout', " ($_->{c_vns})" if $_->{c_vns};
+ end;
+ $e->($_->{sub}) if $_->{sub};
+ }
+ end;
+ };
+
+ my $tags = $self->dbTagTree(0, 25);
+ $self->htmlHeader(title => '[DEBUG] Tag tree', noindex => 1);
+ div class => 'mainbox';
+ h1 '[DEBUG] Tag tree';
+ $e->($tags);
+ end;
+ $self->htmlFooter;
+}
+
+
sub tagxml {
my $self = shift;