mirror of
https://github.com/ronggang/transmission-web-control.git
synced 2026-05-07 04:36:37 +02:00
在"增加 Tracker"中新增 "Best Trackers" 和 "All Trackers" 按钮。
实现自动从 ngosang/trackerslist 中获取 trackers_best_ip 和 trackers_all_ip 。
This commit is contained in:
@@ -7,83 +7,99 @@
|
||||
</div>
|
||||
<div data-options="region:'south',border:false" style="text-align:right;padding:6px;">
|
||||
<span id="text-nochange" style="display:none;"></span>
|
||||
<a id="torrent-attribute-add-tracker-button-search-best-ip" class="easyui-linkbutton" data-options="iconCls:'icon-search',plain:true" href="javascript:void(0);">Best Trackers</a>
|
||||
<a id="torrent-attribute-add-tracker-button-search-all-ip" class="easyui-linkbutton" data-options="iconCls:'icon-search',plain:true" href="javascript:void(0);">All Trackers</a>
|
||||
<a id="torrent-attribute-add-tracker-button-ok" class="easyui-linkbutton" data-options="iconCls:'icon-ok',plain:true" href="javascript:void(0);">Ok</a>
|
||||
<a id="torrent-attribute-add-tracker-button-cancel" class="easyui-linkbutton" data-options="iconCls:'icon-cancel',plain:true"
|
||||
href="javascript:void(0);">Cancel</a>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
(function (thisDialog) {
|
||||
var title = "tip".split(",");
|
||||
var torrent = transmission.torrents.all[system.currentTorrentId];
|
||||
(function (thisDialog) {
|
||||
var title = "tip".split(",");
|
||||
var torrent = transmission.torrents.all[system.currentTorrentId];
|
||||
|
||||
$.each(title, function (i, item) {
|
||||
thisDialog.find("#dialog-torrent-attribute-add-tracker-" + item).html(system.lang.dialog[
|
||||
"torrent-attribute-add-tracker"][item]);
|
||||
});
|
||||
$.each(title, function (i, item) {
|
||||
thisDialog.find("#dialog-torrent-attribute-add-tracker-" + item).html(system.lang.dialog[
|
||||
"torrent-attribute-add-tracker"][item]);
|
||||
});
|
||||
|
||||
thisDialog.find(".title").css({
|
||||
background: "#e6e6e6"
|
||||
});
|
||||
thisDialog.find(".title").css({
|
||||
background: "#e6e6e6"
|
||||
});
|
||||
|
||||
title = "button-ok,button-cancel".split(",");
|
||||
$.each(title, function (i, item) {
|
||||
thisDialog.find("#torrent-attribute-add-tracker-" + item).html(system.lang.dialog["public"][item]);
|
||||
});
|
||||
title = "button-ok,button-cancel".split(",");
|
||||
$.each(title, function (i, item) {
|
||||
thisDialog.find("#torrent-attribute-add-tracker-" + item).html(system.lang.dialog["public"][item]);
|
||||
});
|
||||
|
||||
thisDialog.find("#text-nochange").html(system.lang["public"]["text-nochange"]);
|
||||
thisDialog.find("#text-nochange").html(system.lang["public"]["text-nochange"]);
|
||||
|
||||
// 确认
|
||||
thisDialog.find("#torrent-attribute-add-tracker-button-ok").click(function () {
|
||||
var urls = thisDialog.find("#txtTrackers").val();
|
||||
var button = $(this);
|
||||
// 确认
|
||||
thisDialog.find("#torrent-attribute-add-tracker-button-ok").click(function () {
|
||||
var urls = thisDialog.find("#txtTrackers").val();
|
||||
var button = $(this);
|
||||
|
||||
if (urls != "") {
|
||||
var newTrackers = [];
|
||||
var items = urls.split("\n");
|
||||
$.each(items, function(index, value) {
|
||||
if (isURL(value) && newTrackers.indexOf(value)==-1) {
|
||||
newTrackers.push(value);
|
||||
}
|
||||
});
|
||||
if (newTrackers.length==0) {
|
||||
thisDialog.find("#text-nochange").html(system.lang["public"]["text-nochange"]).fadeInAndOut();
|
||||
return;
|
||||
}
|
||||
var icon = button.linkbutton("options").iconCls;
|
||||
button.linkbutton({
|
||||
disabled: true,
|
||||
iconCls: "icon-loading"
|
||||
});
|
||||
transmission.exec({
|
||||
method: "torrent-set",
|
||||
arguments: {
|
||||
ids: system.currentTorrentId,
|
||||
trackerAdd: newTrackers
|
||||
}
|
||||
}, function (data) {
|
||||
button.linkbutton({
|
||||
iconCls: icon,
|
||||
disabled: false
|
||||
});
|
||||
if (urls != "") {
|
||||
var newTrackers = [];
|
||||
var items = urls.split("\n");
|
||||
$.each(items, function(index, value) {
|
||||
if (isURL(value) && newTrackers.indexOf(value)==-1) {
|
||||
newTrackers.push(value);
|
||||
}
|
||||
});
|
||||
if (newTrackers.length==0) {
|
||||
thisDialog.find("#text-nochange").html(system.lang["public"]["text-nochange"]).fadeInAndOut();
|
||||
return;
|
||||
}
|
||||
var icon = button.linkbutton("options").iconCls;
|
||||
button.linkbutton({
|
||||
disabled: true,
|
||||
iconCls: "icon-loading"
|
||||
});
|
||||
transmission.exec({
|
||||
method: "torrent-set",
|
||||
arguments: {
|
||||
ids: system.currentTorrentId,
|
||||
trackerAdd: newTrackers
|
||||
}
|
||||
}, function (data) {
|
||||
button.linkbutton({
|
||||
iconCls: icon,
|
||||
disabled: false
|
||||
});
|
||||
|
||||
if (data.result == "success") {
|
||||
system.getTorrentInfos(system.currentTorrentId);
|
||||
thisDialog.dialog("close");
|
||||
}
|
||||
});
|
||||
} else {
|
||||
thisDialog.find("#text-nochange").html(system.lang["public"]["text-nochange"]).fadeInAndOut();
|
||||
}
|
||||
if (data.result == "success") {
|
||||
system.getTorrentInfos(system.currentTorrentId);
|
||||
thisDialog.dialog("close");
|
||||
}
|
||||
});
|
||||
} else {
|
||||
thisDialog.find("#text-nochange").html(system.lang["public"]["text-nochange"]).fadeInAndOut();
|
||||
}
|
||||
|
||||
});
|
||||
});
|
||||
|
||||
thisDialog.find("#torrent-attribute-add-tracker-button-search-best-ip").click(function () {
|
||||
var trackersURL = "https://raw.githubusercontent.com/ngosang/trackerslist/master/trackers_best_ip.txt"
|
||||
$.get(trackersURL,function(data){
|
||||
$("#txtTrackers").html(data);
|
||||
});
|
||||
});
|
||||
|
||||
thisDialog.find("#torrent-attribute-add-tracker-button-cancel").click(function () {
|
||||
thisDialog.dialog("close");
|
||||
});
|
||||
thisDialog.find("#torrent-attribute-add-tracker-button-search-all-ip").click(function () {
|
||||
var trackersURL="https://raw.githubusercontent.com/ngosang/trackerslist/master/trackers_all_ip.txt"
|
||||
$.get(trackersURL,function(data){
|
||||
$("#txtTrackers").html(data);
|
||||
});
|
||||
});
|
||||
|
||||
function isURL(v) {
|
||||
return /^[a-zA-z]+:\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?$/.test(v);
|
||||
}
|
||||
})($("#dialog-torrent-attribute-add-tracker"));
|
||||
thisDialog.find("#torrent-attribute-add-tracker-button-cancel").click(function () {
|
||||
thisDialog.dialog("close");
|
||||
});
|
||||
|
||||
function isURL(v) {
|
||||
return /^[a-zA-z]+:\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?$/.test(v);
|
||||
}
|
||||
})($("#dialog-torrent-attribute-add-tracker"));
|
||||
</script>
|
||||
Reference in New Issue
Block a user