Advertisement
Guest User

OPS Skip Upload Warning

a guest
Dec 10th, 2018
578
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.42 KB | None | 0 0
  1. // ==UserScript==
  2. // @name OPS Skip upload warning
  3. // @version 0.74
  4. // @description Skip the warning page generated when uploading a torrent without the 'source' option set
  5. // @author Chameleon
  6. // @include http*://orpheus.network/upload.php*
  7. // @include http*://orpheus.network/torrents.php?id=*
  8. // @include http*:orpheus.network/forums.php*
  9. // @grant none
  10. // @namespace https://greasyfork.org/users/87476
  11. // ==/UserScript==
  12.  
  13. (function() {
  14. 'use strict';
  15.  
  16. debug("Start debug");
  17. var settings=getSettings();
  18.  
  19. var wH=window.location.href;
  20. if(wH.indexOf('upload.php') != -1)
  21. {
  22. var h1s=document.getElementsByTagName('h1');
  23. debug("h1 count: "+h1s.length);
  24. debug("h1[1] text: "+h1s[1].innerHTML);
  25. debug("h1[1] == 'Warning': "+(h1s[1].innerHTML=='Warning'));
  26. if(h1s.length > 1 && h1s[1].innerHTML == 'Warning')
  27. {
  28. var link=document.getElementById('content').getElementsByTagName('a')[0].href;
  29. debug("link: "+link);
  30. if(settings.downloadTorrents)
  31. {
  32. var id=link.split('?id=')[1];
  33. window.localStorage.bypassWarning=JSON.stringify({id:id, downloaded:false});
  34. }
  35. window.location = link;
  36. }
  37. }
  38. else if(wH.indexOf('torrents.php') != -1)
  39. {
  40. var bypass=window.localStorage.bypassWarning;
  41. if(!bypass)
  42. return;
  43. bypass=JSON.parse(bypass);
  44. if(bypass.downloaded)
  45. return;
  46. if(window.location.href.indexOf(bypass.id) == -1)
  47. return;
  48.  
  49. var username=document.getElementById('nav_userinfo').textContent.trim();
  50.  
  51. var download=[];
  52. var torrentDetails=document.getElementsByClassName('torrentdetails');
  53. for(var i=0; i<torrentDetails.length; i++)
  54. {
  55. var t=torrentDetails[i];
  56. var user=t.getElementsByTagName('a')[0].innerHTML.trim();
  57. if(user != username)
  58. continue;
  59. var time=t.getElementsByTagName('span')[0].innerHTML;
  60. if(time.indexOf('Just now') == -1)
  61. continue;
  62. var id=parseInt(t.getAttribute('id').split('_')[1]);
  63. download.push(id);
  64. }
  65. /*var largestId=0;
  66. for(var i=0; i<torrentDetails.length; i++)
  67. {
  68. var t=torrentDetails[i];
  69. var id=parseInt(t.getAttribute('id').split('_')[1]);
  70. if(id > largestId)
  71. largestId=id;
  72. }
  73. document.getElementById('torrent'+largestId).getElementsByTagName('a')[0].click();*/
  74.  
  75. downloadTorrents(download, 0);
  76.  
  77. bypass.downloaded=true;
  78. window.localStorage.bypassWarning=JSON.stringify(bypass);
  79. }
  80. else if(wH.indexOf('threadid=3743') != -1)
  81. showSettings();
  82. })();
  83.  
  84. function downloadTorrents(list, index)
  85. {
  86. if(index >= list.length)
  87. return;
  88.  
  89. var aLink=document.getElementById('torrent'+list[index]).getElementsByTagName('a')[0];
  90. //aLink.setAttribute('target', '_blank');
  91. aLink.click();
  92. debug("link "+index+": "+list[index]);
  93. window.setTimeout(downloadTorrents.bind(undefined, list, index+1), 500);
  94. }
  95.  
  96. function showSettings()
  97. {
  98. var div=document.getElementById('skipUploadWarningSettings');
  99. if(!div)
  100. {
  101. var before = document.getElementsByClassName('forum_post')[0];
  102. div = document.createElement('div');
  103. div.setAttribute('id', 'skipUploadWarningSettings');
  104. before.parentNode.insertBefore(div, before);
  105. div.setAttribute('style', 'width: 100%; text-align: center; padding-bottom: 10px;');
  106. div.setAttribute('class', 'box');
  107. }
  108. div.innerHTML = '<h2>Skip upload warning Settings</h2><br />';
  109. var settings = getSettings();
  110.  
  111. var a=document.createElement('a');
  112. a.href='javascript:void(0);';
  113. a.innerHTML = 'Download torrents: '+(settings.downloadTorrents ? 'On':'Off');
  114. a.addEventListener('click', changeSettings.bind(undefined, a, div), false);
  115. div.appendChild(a);
  116. div.appendChild(document.createElement('br'));
  117.  
  118. var a=document.createElement('a');
  119. a.href='javascript:void(0);';
  120. a.innerHTML = 'Debug: '+(settings.debug ? 'On':'Off');
  121. a.addEventListener('click', changeSettings.bind(undefined, a, div), false);
  122. div.appendChild(a);
  123. div.appendChild(document.createElement('br'));
  124. }
  125.  
  126. function debug(text)
  127. {
  128. var settings=getSettings();
  129. if(!settings.debug)
  130. return;
  131.  
  132. var debugDiv=document.getElementById('ChameleonDebug');
  133. if(!debugDiv)
  134. {
  135. debugDiv=document.createElement('div');
  136. document.body.appendChild(debugDiv);
  137. debugDiv.setAttribute('id', 'ChameleonDebug');
  138. debugDiv.setAttribute('style', 'position: absolute; top: 50px; left: 50px; width: '+(document.body.clientWidth-100)+'px; background: rgba(0,0,0,0.7); text-align: center; font-size: 2em;');
  139. }
  140. var d=document.createElement('div');
  141. d.innerHTML=text;
  142. debugDiv.appendChild(d);
  143. }
  144.  
  145. function changeSettings(a, div)
  146. {
  147. var settings=getSettings();
  148. var as=div.getElementsByTagName('a');
  149. if(a == as[0])
  150. {
  151. if(as[0].innerHTML.indexOf('Off') != -1)
  152. {
  153. settings.downloadTorrents = true;
  154. }
  155. else
  156. settings.downloadTorrents = false;
  157. }
  158. if(a == as[1])
  159. {
  160. if(as[1].innerHTML.indexOf('Off') != -1)
  161. {
  162. settings.debug = true;
  163. }
  164. else
  165. settings.debug = false;
  166. }
  167.  
  168. window.localStorage.skipUploadWarningSettings = JSON.stringify(settings);
  169. showSettings();
  170. }
  171.  
  172. function getSettings()
  173. {
  174. var settings = window.localStorage.skipUploadWarningSettings;
  175. if(!settings)
  176. {
  177. settings = {downloadTorrents:true};
  178. }
  179. else
  180. settings = JSON.parse(settings);
  181. return settings;
  182. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement