Albirew/nyaa-pantsu
Archivé
1
0
Bifurcation 0
Ce dépôt a été archivé le 2022-05-07. Vous pouvez voir ses fichiers ou le cloner, mais pas ouvrir de ticket ou de demandes d'ajout, ni soumettre de changements.
nyaa-pantsu/templates/site/torrents/listing.jet.html
2017-07-08 15:07:26 +02:00

273 lignes
15 Kio
HTML

{{ extends "layouts/index_site" }}
{{ import "layouts/partials/helpers/search" }}
{{block title()}}{{ T("home")}}{{end}}
{{block contclass()}}{{if User.HasAdmin() }}content-admin{{end}}{{end}}
{{block additional_header()}}
<link rel="stylesheet" href="/css/flags/flags.min.css">
<link rel="stylesheet" href="/css/flags/custom_flags.css">
{{end}}
{{block content_body()}}
<!-- Contain the table within a grid, as for better sizing -->
{{if Search.ShowRefine}}
{{yield search_refine()}}
{{end}}
<div class="results box">
<table>
<thead class="torrent-info">
<tr>
{{ if User.HasAdmin() }}
<th class="tr-cb hide"><input type="checkbox" name="select_all" onchange="TorrentsMod.selectAll(this.checked)"></th>
{{end}}
<th class="tr-cat">{{ T("category")}}</th>
<th class="tr-name">
<a href="{{ genSearchWithOrdering(URL, "1") }}">{{ T("name")}}<span class="sort-arrows">{{ genSortArrows(URL, "1")|raw }}</span></a>
</th>
<th class="tr-cs"></th>
<th class="tr-links"></th>
<th class="tr-size hide-xs"><a href="{{ genSearchWithOrdering(URL, "4") }}">{{ T("size")}}<span class="sort-arrows">{{ genSortArrows(URL, "4")|raw }}</span></a></th>
<th class="tr-se hide-xs">
<a href="{{ genSearchWithOrdering(URL, "5") }}">{{ T("S")}}<span class="sort-arrows">{{ genSortArrows(URL, "5")|raw }}</span></a>
</th>
<th class="tr-le hide-xs">
<a href="{{ genSearchWithOrdering(URL, "6") }}">{{ T("L")}}<span class="sort-arrows">{{ genSortArrows(URL, "6")|raw }}</span></a>
</th>
<th class="tr-dl hide-xs">
<a href="{{ genSearchWithOrdering(URL, "7") }}">{{ T("D")}}<span class="sort-arrows">{{ genSortArrows(URL, "7")|raw }}</span></a>
</th>
<!-- <th><span class="glyphicon glyphicon-comment"></span></th> -->
<th class="tr-date hide-xs"><a href="{{ genSearchWithOrdering(URL, "2") }}">{{ T("date")}}<span class="sort-arrows">{{ genSortArrows(URL, "2")|raw }}</span></a></th>
</tr>
</thead>
<tbody id="torrentListResults">
{{ range Models}}
<tr id="torrent_{{ .ID }}" class="torrent-info {{if .Status == 2}}remake{{else if .Status == 3}}trusted{{else if .Status == 4}}aplus{{end}}" >
{{ if User.HasAdmin() }}
<td class="tr-cb hide">
<input data-name="{{ .Name }}" type="checkbox" id="torrent_cb_{{ .ID }}" name="torrent_id" value="{{ .ID }}">
</td>
{{ end }}
<td class="tr-cat home-td">
{{ if Sukebei }}
<div class="nyaa-cat sukebei-cat-{{ .Category }}{{ .SubCategory }}">
{{ else}}
<div class="nyaa-cat nyaa-cat-{{ .SubCategory}}">
{{end}}
<a href="{{ URL.Parse("/search?c="+.Category+"_"+ .SubCategory) }}" title="{{ T(CategoryName(.Category, .SubCategory)) }}" class="category">
{{if .Languages[0] != "" }}
<a href="{{ URL.Parse("/search?c="+.Category+"_"+ .SubCategory +"&lang=") }}{{ range key, language := .Languages }}{{ language }}{{ if len(.Languages) > 1 && (key+1) < len(.Languages) }},{{ end }}{{ end }}">
<img src="/img/blank.gif" alt="{{ LanguageName(.Languages[0], T) }}" class="flag flag-{{ (len(.Languages) == 1) ? FlagCode(.Languages[0]) : "multiple" }}" title=" {{ range key, language := .Languages }}{{ LanguageName(language, T) }}{{ if len(.Languages) > 1 && (key+1) < len(.Languages) }},{{ end }}{{ end }}">
</a>
{{end}}
</a>
</div>
</td>
<td class="tr-name home-td">
<a href="/view/{{ .ID }}">
{{.Name}}
</a>
</td>
<td class="tr-cs home-td">
{{ if len(.Comments) > 0 }}
<span>{{len(.Comments)}}</span>
{{end}}
</td>
<td class="tr-links home-td">
<a href="{{.Magnet}}" title="{{ T("magnet_link") }}">
<div class="icon-magnet"></div>
</a>
{{if .TorrentLink != ""}}
<a href="{{.TorrentLink}}" title="{{ T("torrent_file") }}">
<div class="icon-floppy"></div>
</a>
{{end}}
</td>
<td class="tr-size home-td hide-xs">
{{ fileSize(.Filesize, T) }}
</td>
{{if .LastScrape.IsZero}}
<td class="home-td hide-xs" colspan="3">{{ T("unknown")}}</td>
{{else}}
<td class="tr-se home-td hide-xs">{{.Seeders}}</td>
<td class="tr-le home-td hide-xs">{{.Leechers}}</td>
<td class="tr-dl home-td hide-xs">{{.Completed}}</td>
{{end}}
<td class="tr-date home-td date-short hide-xs">{{.Date}}</td>
</tr>
{{end}}
</tbody>
</table>
</div>
{{ if User.HasAdmin() }}
<div class="modtools">
<button id="show_actions" class="form-input" data-toggle-text="{{ T("hide_mod_tools")}}">{{ T("show_mod_tools")}}</button>
<span class="actions">
<span class="btn-group">
<select class="cb_action" name="category_id" style="width: 14em;">
<option value="">{{ T("category")}}</option>
{{ range _, cat := GetCategories(true, true) }}
<option value="{{ cat.ID }}">{{ T(cat.Name) }}</option>
{{ end }}
</select>
<input class="cb_action" type="number" name="owner_id" style="width: 10em;" placeholder="{{ T("owner_id_placeholder") }}">
<select class="cb_action" name="status_id">
<option value="">{{ T("torrent_status")}}</option>
<option value="5">{{ T("torrent_status_blocked") }}</option>
<option value="1">{{ T("torrent_status_normal")}}</option>
<option value="2" >{{ T("torrent_status_remake")}}</option>
<option value="3">{{ T("trusted")}}</option>
<option value="4">A+</option>
</select>
<button class="cb_action form-input btn-orange" id="edit">{{ T("edit") }}</button>
</span>
<span class="btn-group">
<button class="cb_action form-input btn-red" id="lock_delete">{{ T("lock_delete") }}</button>
<button class="cb_action form-input btn-red" id="delete">{{ T("delete") }}</button>
</span>
<span class="btn-group">
<button class="cb_submit form-input btn-green" id="modal_active">{{ T("save_changes") }}</button>
</span>
</span>
</div>
<!-- Modal -->
<div id="modal_mod_tools" class="modal">
<!-- Modal content -->
<div class="modal-content">
<div class="modal-header">
<span class="close">&times;</span>
<h2>{{ T("following_changes_applied") }}</h2>
</div>
<div class="modal-body">
<h3>{{ T("changes_in_following_order") }}</h3>
<div class="progress-bar" id="progress_modtool" style="display: none;"><div class="progress-green"></div></div>
<hr>
<div class="logs_mess" style="display: none;"></div>
<h2>{{ T("edit_changes") }}</h2>
<div class="edit_changes"></div>
<h2>{{ T("delete_changes") }}</h2>
<div class="delete_changes"></div>
</div>
<div class="modal-footer">
<span><button id="confirm_changes" onclick="TorrentsMod.ApplyChanges();">{{ T("yes")}}</button>
<button class="close" onclick="Modal.CloseActive();">{{ T("no")}}</button></span>
<h3>{{ T("are_you_sure") }} </h3>
</div>
</div>
</div>
{{end}}
{{end}}
{{ block footer_js()}}
<script type="text/javascript" src="{{ URL.Parse("/js/template.js") }}"></script>
<script type="text/javascript" src="{{ URL.Parse("/js/query.js") }}"></script>
<script type="text/javascript" src="{{ URL.Parse("/js/modal.js") }}"></script>
<script type="text/javascript" src="{{ URL.Parse("/js/torrents.js") }}"></script>
<script type="text/javascript" src="{{ URL.Parse("/js/translation.js") }}"></script>
{{ if User.HasAdmin() }}
<script type="text/javascript" src="{{ URL.Parse("/js/torrentsMod.js") }}"></script>
<script type="text/javascript">
// We add translations string
T.Add({
try_new_attempt: "{{ T("try_new_attempt") }}",
query_is_broken: "{{ T("query_is_broken") }}",
query_executed_success: "{{ T("query_executed_success") }}",
all_operations_done: "{{ T("all_operations_done") }}",
refreshing_in: "{{ T("refreshing_in") }}",
delete_reports_with_torrents: "{{ T("delete_reports_with_torrents") }}",
with_st: "{{ T("with_st") }}",
and_reports: "{{ T("and_reports") }}",
reports: "{{ T("reports") }}",
lock: "{{ T("lock") }}",
status_js: "{{ T("status_js") }}",
owner_id_js: "{{ T("owner_id_js") }}",
category_js: "{{ T("category_js") }}",
no_changes: "{{ T("no_changes") }}",
query_nb: "{{ T("query_nb") }}"
});
// Modal initialization
Modal.Init({elements: document.getElementsByClassName("modal"),
button: "#modal_active",
before: function() {
TorrentsMod.generatingModal();
},
close: function() {
TorrentsMod.resetModal();
}
});
// Templates initialization
Templates.Add("torrents.delete.item", function(torrent) {
return '<div class="delete_item" id="list_item_'+torrent.id+'"><span>'+Templates.EncodeEntities(torrent.name)+'</span>'+
'<a href="#" onclick="return TorrentsMod.RemoveItemFromQueue('+torrent.key+', '+torrent.id+')"><i class="trash-icon"></i></a></div>'
});
Templates.Add("torrents.delete.block", function(torrentQuery){
return '<div class="delete_list" id="list_'+torrentQuery.unique_id+'"><div class="title">'+
'<h3 style="display:inline-block;" onclick="TorrentsMod.toggleList(this);">'+T.r("query_nb", torrentQuery.unique_id)+
'</h3>'+
'<span class="infos">'+torrentQuery.infos+'<a href="#" class="icon" onclick="return TorrentsMod.RemoveFromQueue('+torrentQuery.key+')"><div class="trash-icon"></div></a>'+
'</span></div>'+
'<div class="list">'+torrentQuery.list+'</div></div>';
});
Templates.Add("torrents.edit.item", function(torrent) {
return '<div class="edit_item" id="list_item_'+torrent.id+'"><span>'+Templates.EncodeEntities(torrent.name)+'</span>'+
'<a href="#" onclick="return TorrentsMod.RemoveItemFromQueue('+torrent.key+', '+torrent.id+')"><i class="trash-icon"></i></a></div>'
});
Templates.Add("torrents.edit.block", function(torrentQuery){
return '<div class="edit_list" id="list_'+torrentQuery.unique_id+'"><div class="title">'+
'<h3 style="display:inline-block;" onclick="TorrentsMod.toggleList(this);">'+T.r("query_nb", torrentQuery.unique_id)+
'</h3>'+
'<span class="infos">'+torrentQuery.infos+'<a href="#" class="icon" onclick="return TorrentsMod.RemoveFromQueue('+torrentQuery.key+')"><div class="trash-icon"></div></a>'+
'</span></div>'+
'<div class="list">'+torrentQuery.list+'</div></div>';
});
Templates.Add("torrents.logs.error", function(msg) {
return '<div class="error">'+msg+'</div>';
});
Templates.Add("torrents.logs.success", function(msg) {
return '<div class="success">'+msg+'</div>';
});
</script>
{{end}}
<!-- JS Template for torrents ajax -->
<script type="text/javascript">
{{ range _, cat := GetCategories(false, true) }}
T.Add("{{ cat.ID }}", "{{ T(cat.Name) }}")
{{end}}
{{ range _, language := GetTorrentLanguages() }}
T.Add("{{ language }}", "{{ LanguageName(language, T) }}")
{{end}}
Templates.Add("torrents.item", function(torrent) {
return "<tr id=\"torrent_" + torrent.id + "\" class=\"torrent-info"+ ((torrent.status == 2) ? " remake" : ((torrent.status == 3) ? " trusted" : ((torrent.status == 3) ? " aplus" : "" )))+"\">"+
{{ if User.HasAdmin() }}
"<td class=\"tr-cb\""+ ((TorrentsMod.enabled) ? "style=\"display:table-cell;\"" : "") +">"+
"<input data-name=\""+Templates.EncodeEntities(torrent.name)+"\" type=\"checkbox\" id=\"torrent_cb_"+torrent.id+"\" name=\"torrent_id\" value=\""+torrent.id+"\">"+
"</td>"+
{{ end }}
"<td class=\"tr-cat home-td\">"+
{{ if Sukebei() }}
"<div class=\"nyaa-cat sukebei-cat-"+ torrent.category + torrent.sub_category +"\">"+
{{else}}
"<div class=\"nyaa-cat nyaa-cat-"+ torrent.sub_category +"\">"+
{{end}}
"<a href=\"{{URL.Parse("/search?c=") }}"+ torrent.category + "_" + torrent.sub_category +"\" title=\""+ T.r(torrent.category+"_"+torrent.sub_category)+"\">"+
((torrent.languages[0] != "") ? "<a href=\"{{URL.Parse("/search?c=") }}"+ torrent.category + "_" + torrent.sub_category +"&lang=" + torrent.languages.join(",") +"\"><img src=\"img/blank.gif\" class=\"flag flag-"+ ((torrent.languages.length == 1) ? flagCode(torrent.languages[0]) : "multiple") +"\" title=\""+torrent.languages.map(function (el, i) { return T.r(el)}).join(",")+"\"></a>" : "") +
"</a>"+
"</div></td>"+
"<td class=\"tr-name home-td\"><a href=\"/view/"+torrent.id+"\">"+Templates.EncodeEntities(torrent.name) +"</a></td>"+
"<td class=\"tr-cs home-td hide-xs\">"+
((torrent.comments.length > 0) ? "<i class=\"comment-icon\" title=\"{{ T("comments") }}\">" + torrent.comments.length + "</i>" : "")+
"</td>"+
"<td class=\"tr-links home-td\">"+
"<a href=\""+torrent.magnet +"\" title=\"{{ T("magnet_link") }}\">"+
"<div class=\"icon-magnet\"></div>"+
"</a>"+(torrent.torrent != "" ? " <a href=\""+torrent.torrent+"\" title=\"{{ T("torrent_file") }}\"><div class=\"icon-floppy\"></div></a>" : "") +
"</td>"+
"<td class=\"tr-size home-td hide-xs\">"+humanFileSize(torrent.filesize)+"</td>"+
"<td class=\"tr-se home-td hide-xs\">"+torrent.seeders+"</td>"+
"<td class=\"tr-le home-td hide-xs\">"+torrent.leechers+"</td>"+
"<td class=\"tr-dl home-td hide-xs\">"+torrent.completed+"</td>"+
"<td class=\"tr-date home-td date-short hide-xs\">"+torrent.date+"</td>"+
"</tr>";
});
Torrents.LastID = {{ lastID(URL, Models) }};
if (Torrents.LastID > 0) Torrents.CanRefresh = true;
</script>
{{end}}