aboutsummaryrefslogtreecommitdiff
path: root/cgi
diff options
context:
space:
mode:
Diffstat (limited to 'cgi')
-rw-r--r--cgi/templates/board.0.html341
1 files changed, 192 insertions, 149 deletions
diff --git a/cgi/templates/board.0.html b/cgi/templates/board.0.html
index 7097f2a..51bfe71 100644
--- a/cgi/templates/board.0.html
+++ b/cgi/templates/board.0.html
@@ -1,39 +1,48 @@
<?py include('templates/base_top.html') ?>
-<?py if replythread or oek_finish: ?>
- &#91;<a href="#{boards_url}#{board}/">Volver al IB</a>&#93;
+<?py if oek_finish: ?>
+ <div class="nav">
+ &#91;<a href="#{boards_url}#{board}/">revivigi</a>&#93;
+ </div>
+ <hr />
<?py #endif ?>
<?py if replythread: ?>
- &#91;<a href="/cgi/catalog/${board}">Catálogo</a>&#93;
- &#91;<a href="#bottom" name="top">Bajar</a>&#93;
- <div class="replymode">Modo Respuesta</div>
+ <div class="nav">
+ &#91;<a href="#{boards_url}#{board}/">revivigi</a>&#93;
+ &#91;<a href="#bottom" name="top">infero</a>&#93;
+ </div>
+ <div class="replymode">respondanta reĝimo</div>
<?py #endif ?>
<a name="postbox"></a>
<div class="postarea">
<?py if allow_oekaki and not oek_finish: ?>
- <center><form class="oekform" action="#{cgi_url}oekaki/paint" method="post" enctype="multipart/form-data">
- <input type="hidden" name="board" value="#{board}" />
- <?py if replythread: ?>
- <input type="hidden" name="parent" value="#{replythread}" />
- <?py #endif ?>
- Usar: <select name="oek_applet">
- <option value="neo">PaintBBS NEO</option>
- <option value="tegaki">Tegaki</option>
- <option value="wpaint">wPaint</option>
- <option value="shipainter|n|n">Shi-Painter</option>
- <option value="shipainter|y|n">Shi-Painter Pro</option>
- </select>
- <span id="oek_size"><input type="text" name="oek_x" size="4" maxlength="4" value="300" /> x <input type="text" name="oek_y" size="4" maxlength="4" value="300" /></span>
- <input type="submit" value="Dibujar" /><br /><a href="#{cgi_url}oekaki/finish/#{board}/#{replythread}">Recuperar dibujo guardado</a>
- </form></center>
+ <center>
+ <form id="oekform" action="#{cgi_url}oekaki/paint" method="post" enctype="multipart/form-data">
+ <input type="hidden" name="board" value="#{board}" />
+ <?py if replythread: ?>
+ <input type="hidden" name="parent" value="#{replythread}" />
+ <?py #endif ?>
+ uzu: <select name="oek_applet">
+ <option value="neo">PaintBBS NEO</option>
+ <option value="tegaki">Tegaki</option>
+ <option value="wpaint">wPaint</option>
+ <option value="shipainter|n|n">Shi-Painter</option>
+ <option value="shipainter|y|n">Shi-Painter Pro</option>
+ </select>
+ <span id="oek_size"><input type="text" name="oek_x" size="4" maxlength="4" value="300" /> x <input type="text" name="oek_y" size="4" maxlength="4" value="300" /></span>
+ <input type="submit" value="desegni" /><br /><a href="#{cgi_url}oekaki/finish/#{board}/#{replythread}">reakiri savitan desegnon</a>
+ </form>
+ </center>
<?py #endif ?>
<?py if oek_finish: ?>
-<center style="margin-bottom:0.5em;"><table border=""><tr><td>
+<center style="margin:0.5em 0">
+ <table><tr><td>
<?py if oek_finish == "no": ?>
- <font size="+3">No hay dibujo</font>
+ <div style="font-size:xx-large;margin:0.25em">ne estas desegno</div>
<?py else: ?>
- <img src="#{boards_url}oek_temp/#{oek_finish}.png?ts=#{ts}" />
+ <img src="#{images_url}#{board}/temp/#{oek_finish}.png?ts=#{ts}" />
<?py #endif ?>
-</td></tr></table></center>
+ </td></tr></table>
+</center>
<?py #endif ?>
<form name="postform" id="postform" action="#{cgi_url}post" method="post" enctype="multipart/form-data">
<input type="hidden" name="board" value="#{board}" />
@@ -41,186 +50,220 @@
<input type="hidden" name="parent" value="#{replythread}" />
<input type="hidden" name="default_subject" value="#{default_subject}" />
<?py #endif ?>
- <div style="display:none;"><input type="text" name="name" size="25" /> <input type="text" name="email" size="25" /></div>
- <table class="postform">
+ <div style="display:none">ne tuŝu: <input type="text" name="name" size="25" /> <input type="text" name="email" size="25" /></div>
+ <table id="postform-t">
+ <?py if not disable_name: ?>
+ <tr>
+ <td class="postblock">nomo</td>
+ <td><input type="text" name="fielda" size="25" accesskey="n" /></td>
+ </tr>
+ <?py #endif ?>
<tr>
<td class="postblock">mediumo</td>
<td>
<input type="text" name="fieldb" size="25" accesskey="e" />
<?py if disable_subject: ?>
- <?py if replythread: ?>
- <input type="submit" value="🤡" accesskey="z" />
- <?py else: ?>
- <input type="submit" value="🤡" accesskey="z" />
- <?py #endif ?>
+ <input type="submit" value="#{'konekti' if replythread else 'tusxu la mondo'}" accesskey="z" />
<?py #endif ?>
</td>
</tr>
<?py if not disable_subject: ?>
<tr>
- <td class="postblock">Asunto</td>
- <td>
- <input type="text" name="subject" size="35" maxlength="100" accesskey="s" />
- <?py if replythread: ?>
- <input type="submit" value="Responder" accesskey="z" />
- <?py else: ?>
- <input type="submit" value="Crear hilo" accesskey="z" />
- <?py #endif ?>
- </td>
+ <td class="postblock">komerco</td>
+ <td>
+ <input type="text" name="subject" size="35" maxlength="100" accesskey="s" />
+ <input type="submit" value="#{'konekti' if replythread else 'tusxu la mondo'}" accesskey="z" />
+ </td>
</tr>
<?py #endif ?>
<tr>
- <td class="postblock">molekuloj</td>
- <td><textarea name="message" cols="50" rows="6" accesskey="m"></textarea></td>
+ <td class="postblock">molekuloj</td>
+ <td><textarea name="message" cols="50" rows="6" accesskey="m"></textarea></td>
</tr>
- <?py if (replythread and allow_image_replies) or (not replythread and allow_images): ?>
- <tr>
- <td class="postblock">amiko</td>
- <td>
- <input type="file" name="file" id="file" accesskey="f" />
- <span id="filepreview" style="display:none;"></span>
- <?py if allow_spoilers: ?>
- <label>[<input type="checkbox" name="spoil" id="spoil" />Spoiler]</label>
- <?py #endif ?>
- <?py if allow_noimage and not replythread: ?>
- <label>[<input type="checkbox" name="noimage" id="noimage" />Sin imagen]</label>
+ <?py if not oek_finish: ?>
+ <?py if (replythread and allow_image_replies) or (not replythread and allow_images): ?>
+ <tr>
+ <td class="postblock">amiko</td>
+ <td>
+ <input type="file" name="file" id="file" accesskey="f" />
+ <span id="filepreview" style="display:none"></span>
+ <?py if allow_spoilers: ?>
+ <label>[<input type="checkbox" name="spoil" id="spoil" />spoiler]</label>
+ <?py #endif ?>
+ <?py if allow_noimage and not replythread: ?>
+ <label>[<input type="checkbox" name="noimage" id="noimage" />neniu bildo]</label>
+ <?py #endif ?>
+ </td>
+ </tr>
<?py #endif ?>
- </td>
- </tr>
+ <?py elif oek_finish != 'no': ?>
+ <input type="hidden" name="oek_file" value="#{oek_finish}" />
<?py #endif ?>
<tr class="pass">
- <td class="postblock">timo</td>
- <td><input type="password" name="password" size="8" accesskey="p" /> (uzata por post forigo)</td>
+ <td class="postblock">timo</td>
+ <td><input type="password" name="password" size="8" accesskey="p" /> (uzata por post forigo)</form></td>
</tr>
<tr>
- <td colspan="2" id="rules">
- <ul>
- #{postarea_desc}
- <li>ni ne vivas timi, ni vivas konekti.</li>
- <?py if supported_filetypes: ?>
- <li>elekti la veneno: <span id="filetypes">#{', '.join(supported_filetypes).upper()}</span>. ĝis: <span id="maxsize">#{maxsize}</span>KB. paŝo: #{maxdimensions}x#{maxdimensions}px</li>
- <?py #endif ?>
- </ul>
- </td>
+ <td colspan="2" id="rules">
+ <ul>
+ #{postarea_desc}
+ <?py if supported_filetypes: ?>
+ <li>elekti la veneno: #{', '.join(supported_filetypes).upper()}. ĝis #{maxsize}KB. paŝo: #{maxdimensions}x#{maxdimensions}px</li>
+ <?py #endif ?>
+ <?py if maxage: ?>
+ <li>fadenoj estas senditaj al la mortoĉambro post <b>#{maxage}</b> tagoj.</li>
+ <?py #endif ?>
+ <li>unuafoje? <a href="/guia.html" target="_blank">kiel uzi</a> · <a href="/faq.html" target="_blank">oftaj demandoj</a> · <a href="/bai/" target="_blank">burokratio</a></li>
+ <li>konekti vian estaĵo, ŝlosita <a href="mailto:burocracia@bienvenidoainternet.org">en ekziston</a>.</li>
+ <li id="search"><form method="get" action="/tools/search.py" style="display:inline-block"><input type="hidden" name="board" value="${board}"><label for="searchin">foliumi: </label><input type="text" name="q" id="searchin" value="" size="10"> <input type="submit" value="iru"></form></li>
+ </ul>
+ </td>
</tr>
</table>
-</form>
-</div>
+</div><?py #div .postarea?>
<hr />
<?py if postarea_extra: ?>
-<center>#{postarea_extra}</center>
-<hr />
+ <center>#{postarea_extra}</center>
+ <hr />
<?py #endif ?>
+
<form id="delform" action="#{cgi_url}delete" method="post">
<input type="hidden" name="board" value="#{board}" />
<?py if threads: ?>
<?py for thread in threads: ?>
+ <div id="t#{thread['id']}" class="thread" data-length="#{thread['length']}">
<?py if not replythread: ?>
- <span id="unhide#{thread['id']}#{board}" style="display:none;">Hilo <a href="#{boards_url}#{board}/res/#{thread['id']}.html">#{thread['id']}</a> oculto. <a class="tt" href="#">Ver hilo</a></span>
+ <span class="unhide" style="display:none">fadenon <a href="#{boards_url}#{board}/res/#{thread['id']}.html">#{thread['id']}</a> vigla suspendo. <a class="tt" href="#">reanimi</a></span>
<?py #endif ?>
- <div id="thread#{thread['id']}#{board}" class="thread" data-length="#{thread['length']}">
<?py for post in thread['posts']: ?>
- <?py if int(post['parentid']) != 0 and not post['IS_DELETED']: ?>
- <table><tr><td class="ell">…</td>
- <td class="reply" id="reply#{post['id']}">
- <?py elif post['file']: ?>
- <?py if post['image_width'] != '0': ?>
- <div class="fs"><span>Nombre de archivo:</span><a href="#{images_url}#{board}/src/#{post['file']}" class="expimg" target="_blank" data-id="#{post['id']}" data-thumb="#{images_url}#{board}/thumb/#{post['thumb']}" data-w="#{post['image_width']}" data-h="#{post['image_height']}" data-tw="#{post['thumb_width']}" data-th="#{post['thumb_height']}">#{post['file']}</a>-(#{post['file_size']} B, #{post['image_width']}x#{post['image_height']})
- <?py else: ?>
- <div class="fs"><span>Nombre de archivo:</span><a href="#{images_url}#{board}/src/#{post['file']}" target="_blank">#{post['file']}</a>-(#{post['file_size']} B)
- <?py #endif ?>
- <?py if not replythread: ?>
- [<a href="#" title="Ocultar hilo" class="tt">Ocultar hilo</a>]
- <?py #endif ?>
- </div>
- <a target="_blank" href="#{images_url}#{board}/src/#{post['file']}" id="thumb#{post['id']}">
- <?py if post['thumb'].startswith('mime'): ?>
- <img class="thumb" alt="#{post['id']}" src="/static/#{post['thumb']}" width="#{post['thumb_width']}" height="#{post['thumb_height']}" />
- <?py elif post['file'][-3:] == 'gif': ?>
- <img class="thumb" alt="#{post['id']}" src="#{images_url}#{board}/src/#{post['file']}" width="#{post['thumb_width']}" height="#{post['thumb_height']}" />
- <?py else: ?>
- <img class="thumb" alt="#{post['id']}" src="#{images_url}#{board}/thumb/#{post['thumb']}" width="#{post['thumb_width']}" height="#{post['thumb_height']}" />
- <?py #endif ?>
- </a>
- <?py #endif ?>
<?py if not post['IS_DELETED']: ?>
- <a name="#{post['id']}"></a>
- <div class="info"><label><input type="checkbox" name="delete" value="#{post['id']}" />
- <?py if post['subject'] : ?>
- <span class="subj">#{post['subject']}</span>
- <?py #endif ?></label>
- <?py if post['tripcode']: ?>
- <span class="name"><b>#{post['name']}</b> #{post['tripcode']}</span>
- <?py else: ?>
- <span class="name"><b>#{post['name']}</b></span>
- <?py #endif ?>
- <span class="date" data-unix="#{random.randint(1,2147483647)}">#{post['timestamp_formatted']}</span>
- <span class="reflink"><a>No.#{random.randint(1,999999)}</a></span>
- <a class="rep" href="#{cgi_url}report/#{board}/#{post['id']}" rel="nofollow">rep</a>
- <?py if int(post['parentid']) != 0: ?>
- <?py if post['file']: ?>
- <div class="fs">
- <?py if post['image_width'] != '0': ?>
- <a href="#{images_url}#{board}/src/#{post['file']}" class="expimg" target="_blank" data-id="#{post['id']}" data-thumb="#{images_url}#{board}/thumb/#{post['thumb']}" data-w="#{post['image_width']}" data-h="#{post['image_height']}" data-tw="#{post['thumb_width']}" data-th="#{post['thumb_height']}">#{post['file']}</a>-(#{post['file_size']} B, #{post['image_width']}x#{post['image_height']})
+ <?py if post['parentid']: ?>
+ <table>
+ <tr>
+ <td class="ell">#{random.choice(['←','↑','→','↓'])}</td>
+ <td class="reply" id="p#{post['id']}">
+ <?py elif post['file']: ?>
+ <div class="fs">
+ <?py if post['image_width']: ?>
+ <span>dosiero:</span><a href="#{images_url}#{board}/src/#{post['file']}" class="expimg" target="_blank" data-id="#{post['id']}" data-w="#{post['image_width']}" data-h="#{post['image_height']}">#{post['file']}</a>-(#{post['file_size']} B, #{post['image_width']}x#{post['image_height']})
<?py else: ?>
- <a href="#{images_url}#{board}/src/#{post['file']}" target="_blank">#{post['file']}</a>-(#{post['file_size']} B)
+ <span>dosiero:</span><a href="#{images_url}#{board}/src/#{post['file']}" target="_blank">#{post['file']}</a>-(#{post['file_size']} B)
+ <?py #endif ?>
+ <?py if post['file'][-3:] == 'gif': ?>
+ <small>spasta</small>
+ <?py elif not post['thumb'].startswith('mime'): ?>
+ <small>tre malgranda</small>
+ <?py #endif ?>
+ <?py if not replythread: ?>
+ [<a href="#" class="tt">mortigu</a>]
<?py #endif ?>
- </div>
- <a target="_blank" href="#{images_url}#{board}/src/#{post['file']}" id="thumb#{post['id']}">
+ </div><?py #div .fs ?>
+ <a target="_blank" href="#{images_url}#{board}/src/#{post['file']}" id="thumb#{post['id']}">
<?py if post['thumb'].startswith('mime'): ?>
- <img class="thumb" alt="#{post['id']}" src="/static/#{post['thumb']}" width="#{post['thumb_width']}" height="#{post['thumb_height']}" />
+ <img class="thumb" alt="0" src="/static/#{post['thumb']}" width="#{post['thumb_width']}" height="#{post['thumb_height']}" />
<?py elif post['file'][-3:] == 'gif': ?>
- <img class="thumb" alt="#{post['id']}" src="#{images_url}#{board}/src/#{post['file']}" width="#{post['thumb_width']}" height="#{post['thumb_height']}" />
+ <img class="thumb" alt="0" src="#{images_url}#{board}/src/#{post['file']}" width="#{post['thumb_width']}" height="#{post['thumb_height']}" />
<?py else: ?>
- <img class="thumb" alt="#{post['id']}" src="#{images_url}#{board}/thumb/#{post['thumb']}" width="#{post['thumb_width']}" height="#{post['thumb_height']}" />
+ <img class="thumb" alt="0" src="#{images_url}#{board}/thumb/#{post['thumb']}" width="#{post['thumb_width']}" height="#{post['thumb_height']}" />
<?py #endif ?>
- </a>
- <?py #endif ?>
+ </a>
<?py #endif ?>
- <?py if int(post['parentid']) == 0 and not replythread: ?>
- [<a href="#{boards_url}#{board}/res/#{post['id']}.html" class="hsbn">Responder</a>]
- <?py if post['file'] == '': ?>
- [<a href="#" title="Ocultar Hilo" class="tt">Ocultar</a>]
+ <a name="#{post['id']}"></a>
+ <div class="info">
+ <label>
+ <input type="checkbox" name="delete" value="0" />
+ <?py if post['subject']: ?>
+ <span class="subj">#{post['subject']}</span>
+ <?py #endif ?>
+ </label>
+ <span class="name">
+ <b>#{post['name']}</b>
+ #{post['tripcode'] if post['tripcode'] else ''}
+ </span>
+ <span class="date" data-unix="#{random.randint(1,2147483647)}">#{"%02d" % random.randint(1,31)}/#{"%02d" % random.randint(1,12)}/#{"%02d" % random.randint(1,99)} #{"%02d" % random.randint(0,23)}:#{"%02d" % random.randint(0,59)}:#{"%02d" % random.randint(0,59)}</span>
+ <span class="reflink">no.#{random.randint(10000,99999)}</span>
+ <a class="rep" href="#{cgi_url}report/#{board}/#{post['id']}" rel="nofollow">bufo</a>
+ <?py if post['expires']: ?>
+ <small>eksvalidiĝas ${post['expires_formatted']}</small>
<?py #endif ?>
+ <?py if not post['parentid'] and not replythread: ?>
+ [<a href="#{boards_url}#{board}/res/#{post['id']}.html" class="hsbn">konekti</a>]
+ <?py if not post['file']: ?>
+ [<a href="#" class="tt">mortigu</a>]
+ <?py #endif ?>
+ <?py #endif ?>
+ <?py if post['parentid'] and post['file']: ?>
+ <div class="fs">
+ <?py if post['image_width']: ?>
+ <a href="#{images_url}#{board}/src/#{post['file']}" class="expimg" target="_blank" data-id="#{post['id']}" data-w="#{post['image_width']}" data-h="#{post['image_height']}">#{post['file']}</a>-(#{post['file_size']} B, #{post['image_width']}x#{post['image_height']})
+ <?py else: ?>
+ <a href="#{images_url}#{board}/src/#{post['file']}" target="_blank">#{post['file']}</a>-(#{post['file_size']} B)
+ <?py #endif ?>
+ <?py if post['file'][-3:] == 'gif': ?>
+ <small>spasta</small>
+ <?py elif not post['thumb'].startswith('mime'): ?>
+ <small>tre malgranda</small>
+ <?py #endif ?>
+ </div><?py #div .fs ?>
+ <?py #endif ?>
+ </div><?py #div .info ?>
+ <?py if post['parentid'] and post['file']: ?>
+ <a target="_blank" href="#{images_url}#{board}/src/#{post['file']}" id="thumb#{post['id']}">
+ <?py if post['thumb'].startswith('mime'): ?>
+ <img class="thumb" alt="0" src="/static/#{post['thumb']}" width="#{post['thumb_width']}" height="#{post['thumb_height']}" />
+ <?py elif post['file'][-3:] == 'gif': ?>
+ <img class="thumb" alt="0" src="#{images_url}#{board}/src/#{post['file']}" width="#{post['thumb_width']}" height="#{post['thumb_height']}" />
+ <?py else: ?>
+ <img class="thumb" alt="0" src="#{images_url}#{board}/thumb/#{post['thumb']}" width="#{post['thumb_width']}" height="#{post['thumb_height']}" />
+ <?py #endif ?>
+ </a>
<?py #endif ?>
- </div>
- <?py if post['thumb_width'] != '0' and post['parentid'] != '0': ?>
- <blockquote style="margin-left:#{int(post['thumb_width'])+40}px;">
+ <?py if post['thumb_width'] and post['parentid']: ?>
+ <blockquote style="margin-left:#{post['thumb_width']+40}px">#{post['message']}</blockquote>
<?py else: ?>
- <blockquote>
+ <blockquote>#{post['message']}</blockquote>
<?py #endif ?>
- #{post['message']}
- </blockquote>
<?py if not replythread and post['shortened']: ?>
- <blockquote class="abbrev">(Post muy largo... Presiona <a href="#{boards_url}#{board}/res/#{post['id'] if not post['parentid'] else post['parentid']}.html##{post['id']}">aqu&iacute;</a> para verlo completo.)</blockquote>
+ <blockquote class="abbrev">(parolas tro multe... klaku <a href="#{boards_url}#{board}/res/#{post['id'] if not post['parentid'] else post['parentid']}.html">ĉi tie</a> por vidi.)</blockquote>
<?py #endif ?>
- <?py #endif ?>
- <?py if post['parentid'] == "0": ?>
- <?py if not replythread: ?>
- <?py if int(thread['omitted']) == 1: ?>
- <div class="omitted">Un post omitido. Haz clic en Responder para ver.</div>
- <?py elif int(thread['omitted']) > 1: ?>
- <div class="omitted">#{thread['omitted']} posts omitidos. Haz clic en Responder para ver.</div>
+ <?py if post['expires_alert']: ?>
+ <div style="color:red;font-weight:bold;">ĉi tiu fadenoj estas maljuna kaj baldaŭ mortos.</div>
+ <?py #endif ?>
+ <?py if not post['parentid'] and not replythread: ?>
+ <?py if thread['omitted'] == 1: ?>
+ <div class="omitted">unu kuranto preterlasita. klaku konekti por vidi ĉiujn.</div>
+ <?py elif thread['omitted'] > 1: ?>
+ <div class="omitted">#{thread['omitted']} kuranto preterlasita. klaku konekti por vidi ĉiujn.</div>
<?py #endif ?>
+ <?py else: ?>
+ </td>
+ </tr>
+ </table>
<?py #endif ?>
- <?py else: ?>
- </td></tr></table>
<?py #endif ?>
<?py #endfor ?>
- <div class="cut"></div></div>
+ </div><?py #div .thread ?>
+ <div class="cut"></div>
<?py if replythread: ?>
<hr />
- <div class="nav">&#91;<a href="#{boards_url}#{board}/">Volver al IB</a>&#93;
- &#91;<a href="/cgi/catalog/${board}">Catálogo</a>&#93;
- &#91;<a href="#top" name="bottom">Subir</a>&#93;</div>
+ <div class="nav">
+ &#91;<a href="#{boards_url}#{board}/">revivigi</a>&#93;
+ &#91;<a href="#top" name="bottom">ĉielo</a>&#93;
+ </div>
<?py #endif ?>
- <hr />
+ <hr />
<?py #endfor ?>
- <div class="userdel">Eliminar post <label>[<input type="checkbox" name="imageonly" id="imageonly" />Sólo imagen]</label><br />
- Clave <input type="password" name="password" size="8" /> <input name="deletepost" value="Eliminar" type="submit" /></div>
+
+ <div id="userdel">
+ memmortigo <label>[<input type="checkbox" name="imageonly" id="imageonly" />sendolora]</label>
+ <br />
+ sekreto <input type="password" name="password" size="8" /> <input name="deletepost" value="memmortigo" type="button" />
+ </div>
<?py #endif ?>
</form>
+
<?py if pagenav: ?>
- <div class="pg">#{pagenav}</div>
+ <div id="pg">#{pagenav}</div>
<?py #endif ?>
+
<?py include('templates/base_bottom.html') ?>