diff options
author | Yorhel <git@yorhel.nl> | 2009-10-21 16:01:08 +0200 |
---|---|---|
committer | Yorhel <git@yorhel.nl> | 2009-10-21 16:01:08 +0200 |
commit | 6900668e8dad97762e4a4c493c21dec1391998cb (patch) | |
tree | bb1c57a92d773c0a4505c3374a230e6087818583 /lib/VNDB/Handler/Producers.pm | |
parent | 96e77619793fbe8351e023d17e257e96cdb37509 (diff) |
Added relation graphs for producers
TODO:
- document the relations
- emit a relgraph notify when needed
Diffstat (limited to 'lib/VNDB/Handler/Producers.pm')
-rw-r--r-- | lib/VNDB/Handler/Producers.pm | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/lib/VNDB/Handler/Producers.pm b/lib/VNDB/Handler/Producers.pm index 41465b18..4e75962b 100644 --- a/lib/VNDB/Handler/Producers.pm +++ b/lib/VNDB/Handler/Producers.pm @@ -8,6 +8,7 @@ use VNDB::Func; YAWF::register( + qr{p([1-9]\d*)/rg} => \&rg, qr{p([1-9]\d*)(?:\.([1-9]\d*))?} => \&page, qr{p(?:([1-9]\d*)(?:\.([1-9]\d*))?/edit|/new)} => \&edit, @@ -16,6 +17,28 @@ YAWF::register( ); +sub rg { + my($self, $pid) = @_; + + my $p = $self->dbProducerGet(id => $pid, what => 'relgraph')->[0]; + return 404 if !$p->{id} || !$p->{rgraph}; + + my $title = mt '_prodrg_title', $p->{name}; + return if $self->htmlRGHeader($title, 'p', $p); + + $p->{svg} =~ s/\$___(_prodrel_[a-z]+)____\$/mt $1/eg; + $p->{svg} =~ s/\$(_lang_[a-z]+)_\$/mt $1/eg; + $p->{svg} =~ s/\$(_ptype_[a-z]+)_\$/mt $1/eg; + + div class => 'mainbox'; + h1 $title; + p class => 'center'; + lit $p->{svg}; + end; + end; + $self->htmlFooter; +} + sub page { my($self, $pid, $rev) = @_; |