summaryrefslogtreecommitdiff
path: root/data/tpl/vnpage
blob: 15cb32357e1675c1c25375aa5f09a5c3b69a4931 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
[[= ttabs('v', $d{vn}) ]]
<h2>[[: $d{vn}{title} ]]</h2>

[[ if($d{vn}{hidden}) { ]]-
 <span class="warning">
  This item has been deleted from the database. File a request on the
  <a href="http://forum.vndb.org/index.php?board=5.0">forums</a>
  to undelete this page.
 </span>
[[ } ]]
[[ if(!$d{vn}{hidden} || $p{Authdel}) { ]]-


[[ if($d{change}) { ]]
[[= cdiff($d{prev}, $d{vn},
  [ title      => 'Title',          1 ],
  [ alias      => 'Alias',          1 ],
  [ desc       => 'Description',    1, 1 ],
  [ length     => 'Length',         sub { $VNDB::VNLEN->[$_[0] ][0] } ],
  [ l_wp       => 'Wikipedia link', sub { $_[0] ? '<a href="http://en.wikipedia.org/wiki/'.$_[0].'">'.$_[0].'</a>' : 'No link' } ],
  [ l_vnn      => 'V-N.net link',   sub { $_[0] ? '<a href="http://visual-novels.net/vn/index.php?option=com_content&amp;task=view&amp;id='.$_[0].'">'.$_[0].'</a>' : 'No link' } ], 
  [ l_cisv     => 'CISVisual link', sub { $_[0] ? '<a href="http://cisvisual.net/title/'.$_[0].'">'.$_[0].'</a>' : 'No link' } ], 
  [ categories => 'Categories',     sub { join(' ', map { $VNDB::CAT->{substr($_->[0],0,1)}[1]{substr($_->[0],1,2)}.'('.$_->[1].')' } sort { $a->[0] cmp $b->[0] } @{$_[0]}) || 'No categories selected' }, 1 ],
  [ relations  => 'Relations',      sub { join("<br />\n", map { $VNDB::VREL->[$_->{relation}].': '._hchar($_->{title}) } sort { $a->{id} <=> $b->{id} } @{$_[0]}) } ],
  [ image      => 'Image',          sub { $_[0] ? sprintf '<img src="%s/cv/%02d/%d.jpg" />', $p{st}, $_[0]%50, $_[0] : 'No image'; } ],
  [ img_nsfw   => 'NSFW',           sub { $_[0] ? 'Not safe' : 'Safe' } ]
 ) ]]
[[ } ]]-

[[ 
  my @lang;
  for (@{$d{rel}}) {
    my $l = $_->{language};
    next if grep { $_ eq $l } @lang;
    push @lang, $l;
  }

]] 


<div id="vnheader">
<div>
[[ if($d{vn}{image}) { ]]
 [[ if($d{vn}{img_nsfw} && !$p{AuthNsfw}) { ]]
  <img src="[[: $p{st} ]]/cv/nsfw.png" id="nsfw" class="[[: $p{st} ]]/cv/[[= sprintf '%02d/%d', $d{vn}{image}%50, $d{vn}{image} ]].jpg" />
 [[ } else { ]]
  <img src="[[: $p{st} ]]/cv/[[= sprintf '%02d/%d', $d{vn}{image}%50, $d{vn}{image} ]].jpg" alt="[[: $p{PageTitle} ]]" />
 [[ } ]]
[[ } else { ]]-
 No image uploaded yet...
[[ } ]]-
</div>


-[[ if($p{AuthLoggedin}) { ]]
<p class="mod">&lt; user options - 
  <a href="/u[[= $p{AuthId} ]]/votes" rel="voteDD" class="dropdown">[[= $d{vote}{vid} ? 'your vote: '.$d{vote}{vote} : 'vote' ]]</a>
- <a href="/u[[= $p{AuthId} ]]/list" rel="listDD" class="dropdown">[[= !$d{list}{vid} ? 'add to vn list' : 'status: '.lc $VNDB::LSTAT->[$d{list}{status}] ]]</a>
&gt;</p>
[[ } ]]-

-[[ 
  $d{vn}{c_votes} =~ s#^([0-9]{2}.[0-9]{2})\|([0-9]{4})$#$2 == 0 ? 'No votes yet' : 
    $1 == 0 ? sprintf 'N/A (%d vote%s)', $2, $2>1?'s':'' : sprintf '%.2f (%d vote%s)', $1, $2, $2>1?'s':''#e;

  my @links = (
   $d{vn}{l_wp} ?   [ 'Wikipedia', 'http://en.wikipedia.org/wiki/%s', $d{vn}{l_wp} ] : (),
   $d{vn}{l_vnn}  ? [ 'V-N.net',   'http://visual-novels.net/vn/index.php?option=com_content&amp;task=view&amp;id=%d', $d{vn}{l_vnn} ] : (),
   $d{vn}{l_cisv} ? [ 'CISVisual', 'http://cisvisual.net/title/%d', $d{vn}{l_cisv} ] : (),
  );

if($d{vn}{length} || $d{vn}{alias} || @links) { ]]
 <h3>General info</h3>
 <dl>
 [[ if($d{vn}{length}) { ]]-
  <dt>Length</dt><dd>[[: $VNDB::VNLEN->[$d{vn}{length}][0] ]]- ([[: $VNDB::VNLEN->[$d{vn}{length}][1] ]])</dd>[[ } ]]-
 [[ if($d{vn}{alias}) { ]]-
  <dt>Aliases</dt><dd>[[: $d{vn}{alias} ]]</dd>[[ } ]]-
 [[ if(@links > 0) { ]]
  <dt>Links</dt><dd>[[= join(', ', map { '<a href="'.sprintf($_->[1],$_->[2]).'">'.$_->[0].'</a>' } @links) ]]</dd>[[ } ]]-
 </dl>
[[ } ]]-

 [[ if(@{$d{vn}{categories}}) { my %nolvl = (pli=>1,pbr=>1,gaa=>1,gab=>1); ]]-
 <h3>Categories</h3>
 <dl class="vncat">
  [[ for (sort keys %$VNDB::CAT) {
    my $c = $_;
    my @c = map { my $s=$_;
      my ($cs) = grep { $_->[0] eq $c.$s } @{$d{vn}{categories}};
      $cs ? sprintf('<i class="crgn%d">%s</i>', $nolvl{$c.$_}?0:$cs->[1], $VNDB::CAT->{$c}[1]{$s})
          : ()
    } sort keys %{$VNDB::CAT->{$c}[1]};
    if(@c) { ]]-
   <dt>[[: $VNDB::CAT->{$c}[0] ]]</dt><dd>[[= join(', ', @c) ]]</dd>
  [[ } } ]]
 </dl>
 [[ } ]]-

 [[ if($#{$d{vn}{relations}} >= 0) { ]]-
 <h3>[[= $d{page} eq 'rg' ? 'Relations' : '<a href="/v'.$d{vn}{id}.'/rg">Relations</a>' ]]</h3>
 <dl class="vnrel">
  [[ my $lrel = -1; my $i=0; for (sort { $a->{relation} <=> $b->{relation} } @{$d{vn}{relations}}) {
    if($_->{relation} != $lrel) { $lrel=$_->{relation}; if($i) { ]]</dd>[[ } ]]-
    <dt>[[: $VNDB::VREL->[$lrel] ]]</dt><dd><a href="/v[[= $_->{id} ]]">[[: $_->{title} ]]</a>
   [[ } else { ]]<br /><a href="/v[[= $_->{id} ]]" title="[[: $_->{title} ]]">[[: shorten $_->{title}, 40 ]]</a>[[ }
  ++$i;} ]]
 </dl>
 [[ } ]]-

 [[ if(@lang && grep { @{$_->{producers}} } @{$d{rel}}) { ]]-
  <h3>Producers</h3>
  <dl>
   [[ for my $l (@lang) { my %l;
     $_->{language} eq $l && (%l = ( %l, map {
      sprintf('<a href="/p%d" title="%s">%s</a>',
        $_->{id}, _hchar($_->{name}), _hchar shorten $_->{name}, 30) => 1
     } @{$_->{producers}} )) for (@{$d{rel}});
   if(keys %l) { ]]-
    <dt>[[: $VNDB::LANG->{$l} ]]</dt><dd>[[= join(' &amp; ', keys %l) ]]</dd>
   [[ } } ]]
 </dl>
 [[ } ]]-

 <h3>[[= $d{page} eq 'stats' ? 'User stats' : '<a href="/v'.$d{vn}{id}.'/stats">User stats</a>' ]]</h3>
 <dl>
  <dt>Rating</dt><dd>[[: $d{vn}{c_votes} ]]</dd>
 </dl>
</div>

-[[ 
  my @lnks = (
    !$d{page} ? '<b>description &amp; releases</b>' : '<a href="/v'.$d{vn}{id}.'">description &amp; releases</a>',
    $d{page} eq 'stats' ? '<b>stats</b>' : '<a href="/v'.$d{vn}{id}.'/stats">stats</a>',
    $d{vn}{rgraph} ? (
      $d{page} eq 'rg' ? '<b>relations</b>' : '<a href="/v'.$d{vn}{id}.'/rg">relations</a>',
    ) : (),
  );
]]
<p class="opts">- -[[= join(' - ', @lnks) ]]- -</p>

[[ if(!$d{page}) {           ]][[+ vnpage_rel   ]][[ } ]]
[[ if($d{page} eq 'stats') { ]][[+ vnpage_stats ]][[ } ]]
[[ if($d{page} eq 'rg') {    ]][[+ vnpage_rg    ]][[ } ]]

[[ if($p{AuthLoggedin}) { ]]-

<div class="dropdown" id="voteDD">
 <ul>
 [[ if($d{vote}{vid}) { ]]-
  <li><a href="/v[[= $d{vn}{id} ]]/vote?v=-1">revoke</a></li>
 [[ } for (reverse 1..10) { ]]-
  <li class="center"><a href="/v[[= $d{vn}{id} ]]/vote?v=[[= $_ ]]">[[= $_ ]]</a></li>
 [[ } ]]
 </ul>
</div>

<div class="dropdown" id="listDD">
 <ul>
  [[ for (0..$#$VNDB::LSTAT) { ]]-
  <li><a href="/v[[= $d{vn}{id} ]]/list?s=[[= $_ ]]" [[= $_ == 6 ? ' id="askcomment"' : '' ]]>[[: $VNDB::LSTAT->[$_] ]]</a></li>
  [[ } if($d{list}{vid}) { ]]-
  <li><a href="/v[[= $d{vn}{id} ]]/list?s=-1">Remove</a></li>
  [[ } ]]-
 </ul>
</div>

[[ } ]]


[[ } ]]