summaryrefslogtreecommitdiff
path: root/data/tpl/vnedit
blob: eaddf8ed6b7dcbd63e2163ffd257408a7ca81aa6 (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
[[= $d{id} ? ttabs('v', $d{vn}, 'edit') : '' ]]-
<h2>[[: $p{PageTitle} ]]</h2>

[[ if(!$d{id}) { ]]
 <span class="msg">Please search the database before adding a new visual novel
 in order to prevent duplicate entries.</span>
[[ } else { ]]
 <span class="msg">
  Please check the <a href="/t/v[[= $d{id} ]]">discussion board</a> <b>before</b> making
  any changes!
 </span>
[[ } if($d{id} && $d{vn}{cid} != $d{vn}{latest}) { ]] 
 <span class="warning">
  You are editing an old revision of this visual novel. If you save it, all changes made after
  -[[= formatdate('%Y-%m-%d %R', $d{vn}{added}) ]]- will be removed!
 </span>
[[ } ]]


-[[= cform([
 { type => 'error' },
 { type => 'startform', action => $d{id} ?( '/v'.$d{id}.'/edit') : '/v/new', upload => 1, fh => 1 },

 { type => 'sub', title => 'General info', short => 'info' },
 { type => 'input', name => 'Title', short => 'title', r=>1 },
 { type => 'static', text => q|
   Use official English title if available, use the romanized version of the official title otherwise.
   Other titles can be added at a later time when specifying releases.<br /><br />| },

 { type => 'textarea', name => 'Aliases', short => 'alias', rows => 2, cols => 60 },
 { type => 'static', text => q|
   Comma seperated list of alternative titles or abbreviations. Can include both official
   (japanese/english) titles and unofficial titles used around net. <b>Titles that are listed in the releases do not have to be added here.</b><br /><br />| },

 { type => 'textarea', name => 'Description', short => 'desc', rows => 7, cols => 70, r=>1 },
 { type => 'static', text => q|
   Short description of the main story. Please do not include spoilers, and don't forget to list the source
   in case you didn't write the description yourself. ([url] BBCode tag is allowed)<br /><br />| },
 
 { type => 'select', name => 'Length', short => 'length', class => 'longopts', options => [ map {
   { short => $_,
     name => !$_?$VNDB::VNLEN->[$_][0]:($VNDB::VNLEN->[$_][0].', '.$VNDB::VNLEN->[$_][1].' ('.$VNDB::VNLEN->[$_][2].')') } } 0..$#$VNDB::VNLEN
 ] },
 { type => 'static', text => '<br />' },
 { type => 'input', name => 'External links', short => 'l_wp', pre => 'http://en.wikipedia.org/wiki/' },
 { type => 'input', name => '&nbsp;', short => 'l_encubed', pre => 'http://novelnews.net/tag/', post => '/' },
 { type => 'input', name => '&nbsp;', short => 'l_renai', pre => 'http://renai.us/game/', post => '.shtml' },
 { type => 'input', name => '&nbsp;', short => 'l_vnn', pre => 'http://visual-novels.net/vn/index.php?option=com_content&amp;task=view&amp;id=', class => 'shortopts' },

 { type => 'static', text => '<br />' },
 { type => 'input', name => 'Related anime', short => 'anime' },
 { type => 'static', text => q|
   Whitespace seperated list of <a href="http://anidb.net/">AniDB</a> anime IDs.
   E.g. "1015 3348" will add <a href="http://anidb.net/a1015">Shingetsutan Tsukihime</a>
   and <a href="http://anidb.net/a3348">Fate/stay night</a> as related anime.<br />
   <b>Note:</b> It can take a few minutes for the anime titles to appear on the VN page.| },

 { type => 'sub', title => 'Categories', short => 'cat' },
 { type => 'hidden', short => 'categories' },
 { type => 'static', raw => 1, text => eval {
    my $r = 'Please read the <a href="/d1">category descriptions</a> before modifying categories!<br /><br />'
           .'<ul id="cat">';
    for my $c (qw| e g t p h l s |) {
      $r .= ($c !~ /[thl]/ ? '<li>' : '<br />').$VNDB::CAT->{$c}[0].'<a href="/d1#'.$VNDB::CAT->{$c}[2].'" class="help">?</a><ul>';
      for (sort keys %{$VNDB::CAT->{$c}[1]}) {
        $r .= sprintf '<li><a href="#" id="cat_%1$s"><b id="b_%1$s">-</b> %2$s</a></li>',
          $c.$_, $VNDB::CAT->{$c}[1]{$_};
      }
      $r .= '</ul>'.($c !~ /[gph]/ ? '</li>' : '');
    }
    $r.'</ul>';
  } }, 

 { type => 'sub', title => 'Image', short => 'img' },
 $d{id} ? (
   { type => 'static', text => $d{vn}{image} > 0 ?
    sprintf '<img src="%s/cv/%02d/%d.jpg" style="float: right" />', $p{st}, $d{vn}{image}%100, $d{vn}{image} :
    $d{vn}{image} < 0 ? '[processing]' : 'No image uploaded yet...' },
 ) : (),
 { type => 'upload', name => $d{vn}{image} ? 'Change' : 'Upload', short => 'img' },
 { type => 'static', text => q|
   Preferably the cover of the CD/DVD/package. Image must be in JPEG or PNG format and at most 500kB. Images larger than 256x400 will automatically be resized.<br /><br />| },
 { type => 'check', short => 'img_nsfw', name => '<b>NSFW.</b> Please check this option if the image contains nudity, gore, or is otherwise not safe in a work-friendly environment.' },

 { type => 'sub', title => 'Visual novel relations', short => 'rel' },
 { type => 'jssel', name => 'Relations', short => 'relations', sh => 'rl' },
 { type => 'static', text => q|
   <b>Direct relations:</b> Please only add direct relations. E.g. the sequel of a sequel does not have to be listed
    here because it's already listed on an other visual novel that is in turn listed here. VNDB will handle these
    relations automatically.<br />
   <b>Reverse relations:</b> If you add a relation with an other visual novel here, the same (or "reverse") relation
    will automatically be added to the other visual novel. For example: if you add Tsukihime as a prequel of Kagetsu Tohya,
    Kagetsu Tohya will automatically be added as a sequel for Tsukihime.
 |},

 { type => 'sub', title => 'Screenshots', short => 'scr' },
 { type => 'hidden', short => 'screenshots' },
 { type => 'static', raw => 1, text => qq|
   <span class="warning">
    <b style="float: none; display: inline; font-weight: bold">Please keep the following in mind when uploading screenshots:</b><br />
    * Screenshots have to be in the native resolution of the game,<br />
    * Remove any window borders and make sure the image is unmarked,<br />
    * Don't only upload event CGs.<br />
    Please read the <a href="/d2#6">guidelines</a> for more information.<br />
    <b style="float: none; display: inline; font-weight: bold">Make sure to submit the form after the upload has finished!</b>
   </span><br />
   <div id="scrfrm" class="$p{st}">...make sure to enable Javascript...</div>
   <script type="text/javascript">
    var scrRel = [|.join(', ', map { ($$_{title} = _hchar($$_{title})) =~ s/\\/\\\\/g; $$_{title}=~s/'/\\'/g; "[ $$_{id}, '$$_{language}', '$$_{title}' ]" } @{$d{rel}}).q|];
   </script>
 |},

 { type => 'sub', title => 'Edit summary', short => 'com' },
 { type => 'textarea', name => 'Edit summary', short => 'comm', rows => 3, cols => 60 },
 { type => 'static', text => 'Please explain your modifications and cite all sources.' },

 { type => 'submit', text => $d{id} ? 'Edit' : 'Add' },
 { type => 'endform' },

], $d{form}) ]]