mirror of
https://github.com/rls-moe/nyx
synced 2024-11-14 22:12:24 +00:00
224 lines
7.1 KiB
HTML
224 lines
7.1 KiB
HTML
{{ define "thread/post" }}
|
|
<div class="postarea">
|
|
{{ if .Thread }}
|
|
<form id="postform"
|
|
action="/{{.Board.ShortName}}/{{.Thread.ID}}/reply.sh"
|
|
method="POST"
|
|
enctype="multipart/form-data">
|
|
{{ else }}
|
|
<form id="postform"
|
|
action="/{{.Board.ShortName}}/new_thread.sh"
|
|
method="POST"
|
|
enctype="multipart/form-data">
|
|
{{ end }}
|
|
<table>
|
|
<tbody>
|
|
{{ if .PreviousError }}
|
|
<tr>
|
|
<td class="postblock">
|
|
Error
|
|
</td>
|
|
<td>
|
|
{{.PreviousError}}
|
|
</td>
|
|
</tr>
|
|
{{ end }}
|
|
<tr>
|
|
<td class="postblock">
|
|
TripCode
|
|
</td>
|
|
<td>
|
|
<input type="text" name="tripcode" size=48 placeholder="Anonymous"/>
|
|
<input
|
|
type="hidden"
|
|
name="csrf_token"
|
|
value="{{ .CSRFToken }}" />
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="postblock">
|
|
Comment
|
|
</td>
|
|
<td>
|
|
<textarea
|
|
name="text"
|
|
placeholder="your comment"
|
|
rows="4"
|
|
cols="48"
|
|
minlength="5"
|
|
required
|
|
></textarea>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="postblock">
|
|
Image File
|
|
</td>
|
|
<td>
|
|
<input type="file" name="image" />
|
|
</td>
|
|
</tr>
|
|
{{ if ne .Config.Captcha.Mode "disabled" }}
|
|
<tr>
|
|
<td class="postblock">
|
|
Captcha
|
|
</td>
|
|
<td>
|
|
{{ $captchaId := makeCaptcha }}
|
|
<img id="image" src="/captcha/{{$captchaId}}.png" alt="Captcha Image"/>
|
|
<audio id=audio controls style="display:none" src="/captcha/{{$captchaId}}.wav" preload=none>
|
|
You browser doesn't support audio.
|
|
<a href="/captcha/download/{{$captchaId}}.wav">Download file</a> to play it in the external player.
|
|
</audio>
|
|
<br>
|
|
<input type="text" name="captchaSolution" size=48 />
|
|
<input type="hidden"
|
|
name="captchaId"
|
|
value="{{$captchaId}}"/>
|
|
</td>
|
|
</tr>
|
|
{{ end }}
|
|
{{ if (isModSession .Session) }}
|
|
<tr>
|
|
<td class="postblock">
|
|
Mod Post
|
|
</td>
|
|
<td>
|
|
<label>
|
|
<input type="checkbox" name="modpost"/>Mark as Mod Post
|
|
</label>
|
|
{{ if (isAdminSession .Session) }}
|
|
<label>
|
|
<input type="checkbox" name="adminpost"/>Mark as Admin Post
|
|
</label>
|
|
{{ end }}
|
|
</td>
|
|
</tr>
|
|
{{ end }}
|
|
<tr>
|
|
<td class="postblock">
|
|
|
|
</td>
|
|
<td>
|
|
<input type="submit" value="Post" />
|
|
</td>
|
|
</tr>
|
|
{{ if .Board.Metadata.rules }}
|
|
<tr>
|
|
<td class="postblock">
|
|
Rules
|
|
</td>
|
|
<td class="rules">
|
|
{{ renderText .Board.Metadata.rules }}
|
|
</td>
|
|
</tr>
|
|
{{ end }}
|
|
</tbody>
|
|
</table>
|
|
</form>
|
|
</div>
|
|
<hr />
|
|
{{ end }}
|
|
|
|
{{ define "thread/reply" }}
|
|
<label><span class="postertrip">
|
|
{{ if .Reply.Metadata.trip }}
|
|
{{ .Reply.Metadata.trip}}
|
|
{{ else }}
|
|
Anonymous
|
|
{{ end }}
|
|
{{ if .Reply.Metadata.modpost }}
|
|
(Mod)
|
|
{{ end }}
|
|
{{ if .Reply.Metadata.adminpost }}
|
|
[Admin]
|
|
{{ end }}
|
|
</span></label>
|
|
<span class="date">{{dateFromID .Reply.ID | formatDate}}</span>
|
|
{{ if .Session }}
|
|
{{ if eq (.Session.CAttr "mode") "admin" }}
|
|
<form class="delform" action="/mod/del_reply.sh" method="POST">
|
|
<input
|
|
type="hidden"
|
|
name="csrf_token"
|
|
value="{{ .CSRF }}" />
|
|
<input
|
|
type="hidden"
|
|
name="reply_id"
|
|
value="{{ .Reply.ID }}" />
|
|
<input
|
|
type="hidden"
|
|
name="thread_id"
|
|
value="{{ .ThreadID }}" />
|
|
<input
|
|
type="hidden"
|
|
name="board"
|
|
value="{{ .Boardlink }}" />
|
|
<input type="submit" value="delete" />
|
|
</form>
|
|
{{ end }}
|
|
{{ end }}
|
|
<span>
|
|
{{ if not .Reply.Metadata.spamscore }}
|
|
{{ $score := (rateSpam .Reply.Text) }}
|
|
{{printf "[SpamScore: %f]" $score }}
|
|
{{printf "[Captcha: %.3f%%]" (percentFloat (captchaProb $score)) }}
|
|
{{printf "[OLD]"}}
|
|
{{ else }}
|
|
{{ printf "[SpamScore: %s]" .Reply.Metadata.spamscore }}
|
|
{{ printf "[Captcha: %s %%]" .Reply.Metadata.captchaprob }}
|
|
{{ end }}
|
|
</span>
|
|
<span class="reflink">
|
|
<a href="/{{.Boardlink}}/{{.ThreadID}}/thread.html">No.{{.Reply.ID}}</a>
|
|
</span>
|
|
{{ if .Reply.Thumbnail }}
|
|
<br />
|
|
<a target="_blank" href="/{{.Boardlink}}/{{.ThreadID}}/{{.Reply.ID}}/{{.Reply.ID}}.png">
|
|
<img
|
|
src="/{{.Boardlink}}/{{.ThreadID}}/{{.Reply.ID}}/thumb.png"
|
|
class="thumb"
|
|
/>
|
|
</a>
|
|
{{ end }}
|
|
{{ if .Reply.Metadata.deleted }}
|
|
<blockquote><blockquote class="deleted">
|
|
{{ renderText .Reply.Text }}
|
|
</blockquote></blockquote>
|
|
{{ else }}
|
|
<blockquote><blockquote>
|
|
{{ renderText .Reply.Text}}
|
|
</blockquote></blockquote>
|
|
{{ end }}
|
|
{{ end }}
|
|
|
|
{{ define "thread/main" }}
|
|
<div class="postlists">
|
|
{{ $boardlink := .Board.ShortName }}
|
|
{{ $threadrid := .Thread.GetReply.ID }}
|
|
{{ $threadid := .Thread.ID }}
|
|
{{ $csrf := .CSRFToken }}
|
|
{{ $session := .Session }}
|
|
{{ with .Thread }}
|
|
{{ with .GetReply }}
|
|
{{ with dict "Reply" . "Boardlink" $boardlink "CSRF" $csrf "ThreadID" $threadid "Session" $session }}
|
|
{{ template "thread/reply" . }}
|
|
{{ end }}
|
|
{{ end }}
|
|
{{range .GetReplies}}
|
|
{{ if ne .ID $threadrid }}
|
|
<table class="reply-table"><tbody><tr><td class="doubledash">>></td>
|
|
<td class="reply" id="reply{{.ID}}">
|
|
{{ with dict "Reply" . "Boardlink" $boardlink "CSRF" $csrf "ThreadID" $threadid "Session" $session }}
|
|
{{ template "thread/reply" . }}
|
|
{{ end }}
|
|
</td>
|
|
</tr></tbody></table>
|
|
{{end}}
|
|
{{end}}
|
|
{{end}}
|
|
<br clear="left" /><hr />
|
|
</div>
|
|
{{ end }}
|
|
|
|
{{ template "thread/main" . }} |