Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ==UserScript==
- // @name New Torrent flagging only
- // @namespace nowhere.man
- // @include http://torrents.empornium.me/torrents.php*
- // @version 1
- // @grant none
- // ==/UserScript==
- var new_img =
- "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAEMSURBVDjL3ZLBSgJRFIYvtO0BfIPeI3qBNj2Cy1rWzlWbkcBNYhC0TletJKOFq1lIILhQJCywaDZOkINiGl/n3DNj6LaF4MDHGebc/5tz544D3H9w2yAI3LkQp7UgREJRSIS+0BJqwr6QTzkWulqdD09juD3Ah5PI7r8TiPvw0YJeDUq7cJ83NDzqwmUOFUyYT/ASfasGm6d4kQo1OB3JszN4fTDujuBrqP2hW4baVxbMBIuZTfAeQucGxm/w+WzB6AleGipo/Am06hTrEwQupLhjwkFdtlOFnzlc72n/cFWgQb3WJ8i22a7A44mtCfQQ7BSyL6617BtWZ+kphMKFlwSusrJmW/7ETQt+AQhq/TxibW0lAAAAAElFTkSuQmCC";
- function init() {
- if (window.location.href.indexOf("?id=") === -1) {
- if (!localStorage.lastId) {
- localStorage.lastId = 1;
- }
- if (!localStorage.maxId) {
- localStorage.maxId = 1;
- }
- identifyNewTorrents(localStorage.lastId);
- addClearNewButton();
- document.styleSheets[0].insertRule("div.tags{padding-left: 0px}", 0);
- document.styleSheets[0].insertRule("#torrent_table tr {vertical-align: middle;}", 0);
- document.styleSheets[0].insertRule(
- ".icon_new{background: url(" + new_img + ") no-repeat scroll center}",
- 0);
- }
- else { }
- }
- function identifyNewTorrents(lastId) {
- var rows = document.evaluate(
- "//tr[@class='torrent rowa' or @class='torrent rowb' or @class='torrent redbar']",
- document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null
- );
- var maxId = localStorage.maxId;
- var id_re = new RegExp('id=(\\d+)');
- for (var i = 0; i < rows.snapshotLength; i++) {
- var row = rows.snapshotItem(i);
- var torrentTitle = row.querySelector("td:nth-child(2) a");
- var link = torrentTitle.getAttribute("href");
- var regex = link.match(id_re);
- if (regex) {
- var id = parseInt(regex[1], 10);
- if (id > maxId) {
- maxId = id;
- }
- var overlay = window["overlay" + id];
- addNewTorrentSign(row, id, lastId);
- moveTableCells(row);
- }
- }
- if (maxId > localStorage.maxId) {
- localStorage.maxId = maxId;
- }
- }
- function addClearNewButton() {
- var a = document.createElement('a');
- a.setAttribute("href", "javascript:void(0)");
- a.setAttribute("id", "clearNew");
- a.setAttribute("style", "display: block; text-align: center; font-weight: normal;");
- var img = document.createElement("img");
- img.setAttribute("style", "vertical-align: middle;");
- img.src = new_img;
- var span = document.createElement("span");
- span.innerHTML = " Clear New";
- a.appendChild(span);
- a.addEventListener('click', function() {
- localStorage.lastId = localStorage.maxId;
- markAsOld(localStorage.maxId);
- return false;
- }, true);
- var cont = document.querySelector("table.torrent_table td.cats_col");
- cont.appendChild(a);
- }
- function moveTableCells(row) {
- }
- function addNewTorrentSign(row, id, lastId) {
- if (id > lastId) {
- var img_element = document.createElement('span');
- img_element.setAttribute("class", "icon icon_new");
- img_element.setAttribute("tid", id);
- img_element.setAttribute("title", "This torrent is new, click to mark as old");
- img_element.setAttribute("style", "cursor: pointer;");
- img_element.addEventListener("click", function handler(evt) {
- markAsOld(this.getAttribute('tid'));
- }, true);
- row.getElementsByTagName("span")[0].appendChild(img_element);
- }
- }
- function markAsOld(id) {
- localStorage.lastId = parseInt(id, 10);
- var imgs = document.evaluate(
- "//span[@class='icon icon_new' and @tid <= " + id + "]",
- document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null
- );
- for (var i = 0; i < imgs.snapshotLength; i++) {
- imgs.snapshotItem(i).setAttribute("style", "display:none");
- }
- }
- setTimeout(function() {
- init();
- }, 250);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement